Виноград

**Виноград** (англ. Grapes) равен томату50 = луку25,000. Термин был введён пользователем англоязычной гугология вики BlankEntity

## Точное значение

```
1771000665803765378194248774140454133942834289785209308798790867320478179471154032674186580652265514375761857179026079994950170416458190351628878530626523269687787811317779118428529571282162833542481243648813515317334732440819461248385064193263326268264561181556908739503664090995855563308486621014603608188211841472354887873416225847269776775858121718142360126570505134124300774381241348377001623799585100442335789036257551878126888828365195481396512046768572582782356293330903093695672407686553955226987253816973395668103184498594917472059539849385921381858731254763537193655787624555944750211029214588094304086300375971370740237051372201870379436815785777490026550726056608705752551746397034943584041789278683299407233376171953375527686098639451231466441980773267603673213501133309583297049844178944559152352450355475652876760556493125266518581359477857693273028455141113852768183690262413525406300930929585201016291294620399589036018038598677839786053747609415494938577797035106201236801460903893840191803851036236388306238138630258524907313569710118242769674375423661258787564292177181116294843841578863057275471666586173704047056224538488214157468865800124077241166661248071228505741557838106796812022945742095337406891519874346676699681587181497610177304426624442769052305526805332883793254424062246847289524253394427434196067637737621765529161137232679664990882281880609004524613505080998289869399097056917445184657453005840091289397614069402182395776628578938212333268660716831373983995373841421256004139864251082710981872574616951877959063393952139081622670617060429557334969001936641194677839374489335804550017100633543833096696551927715475324267093567337389663059718682133767984664608811961773201552352923681417980958493801177347749593513718914792865710758593587929629571635741911922731951078014742501880148268918191834990116175294557405455125990171229132093275585080825117635145100189537479033571523397614329931205995998322258235598385423242829828431788582472313883486697661301527652686099054040883874367070248898493812622397219984108769768411968714782257635897897882174008522079414364238916540921428315545333561514073268687471067770749738723814739722042480987518533657967205633577172227994986109125572929620954902885680235526350847624548059958409489585124813826819915899436973276402122123578726192532056834292836223726493747451273039546332568766862941971018191537633947100636127877701986126457558830569736200383804507242806539825130913311277849137618399023355119658804001042338371125331064816075540771937532492566575873025520295380410535676049230184743880531825195533471567427286381757294764660464526457219636764124166197423052337016707033320101994159750526187536447836149452908596475742917339107353504024339777786494812892494954744413874023288187641700844997834892391179389512044529294177688822013939457242091656240372540648804098643175489823226066289520729890810449875451733344610603042241142332435187990715507600248733120014382043413184885814464862707859180441344892349243384418015339530171326124623535983441667685165097031643528844711361845887479917528577587731603898249178701696291752132558346503578740457547948951359818506040729440993027709311302884890514965444706684658456433989565488818325255654734144317460996910047789518107197112198459580957979874041102132874763692972086666877223181070812612461813226415825186225025995446832345701032784416221639485213278810099776132597226799884260164241776988456477832592369838447935963982533156177104646849118985699264187956883847709860797492661250901616336194793920338323045295405517682966601820619659670722220994274441821599194224641244627398290115296823073061836333126436647059214060052279339704410994114435992785144120759899642355909525631426675971432442740734699722475702391920790265201368383896593309457168444502993837925405992552829559271906718125527619383108600787660203130074101340259699477668159929607408871337540838758091123967870604641413810553137411205852947342808954098917900192859808978847798160283921728966421026685312263154310575325510529208257087648708168590968967172590404895004008258528458111446320864955973020999007869235403979569819115735520217868501939615913879849921281497679737566253984861347480355826927024442215356346769761409628396121137929722115541778198242828988470497831513582136891148309919835051253630487882051315057594240130276832517867963914972327994252388306486616912477660716055066212279070412126045033156641192475238470668417434996529942864223125537370855561341024109047045553401876153537304458898696799789311617610846710370179572212382181993311563534999771479475014600488300546935982617145068714792188932801662282282074427365819849253281133090861048498196149222100464709104633406276401842934109306441870387749097769375377738188297033155257855842863553737591789956590228434143764611576461448832459493698093431775933911278720479188924113570838080159266452029352807380893631326902058061042744569801322967033447903486928928773260254691280260985115872127850301659805395519159109521755557408040536172927015617294699253391027132550116401102563949774763034877470659484125455739125138260246899763746130014039191644552272521618015837179672665727699352590124298413060463528470734445812684640285615644554010855599329185822386220438462631491930523937892179883170161430030236025467251769284690188775909683428764718154873924167091608140064034625159169697323124169998304392399152702147081112091972382585506485174027366563490199345424919384432661459590249121109041025558212534230793091489643540293420167839738368699652081432303406469047497857600545097909217894223045778363034449112980695717256691503210093363335736218019263777387338093874987987345606437504102208131275089257012664152035772542251437867306163138136944127721498658998563281278652501093624969411832779988730697595532761639835692829532382574225860979957402027582911430756933157539946618484737265557109673863411626832840531252774675613590937843110736659824209685739680108390701659748203362607653724745733594966584057232506529326466141744021179841116825098410397311577502437096238706778521656517093315187019237300594976905379877679373909479063924677108231674475855181619145542063297029364483668909591586632994926755605807035513885473460281509393553978346447767811434318102898642297128413809903489037991971819353610011671878580836620582633425594972698499494178110822403674883949522717813417295812782952261116546749007092950230331038972913608729272740741646215876938651643776807229194844866443121879530555335631552828110060239406347766860236003636995671541992258066932820071969002422296897626757221327974268730595180187361616048999867381814944957650193206761959860497403194965065597850444963372179719696920314995392502494714449274425179510762016797509760115152795118404831532552487066894479156349780621075033172403195469266947412546644572441010884476849561507195990894933141608401769732279614303078352315950359722575388018071262784546150987012029832831230167423985817965618745539764784171422138555628331680359922427353773606449624094433609174504712709518582866270022285560202150736614920629990766765599575648007026629639917555829634744366196331021814845543635387191849123972959997037455548366889277141001802494637012436643794564160008013545131050007194971865982784554808124966771401702587268521972080908089575518178419219314225325016324046633486711078762606920521628020253739646129727848413625560045415759187352679240634169368634834836311370078833826123946266393583192222880833773490337226085687278144669316908437415960466771822717824610437995989457807887574033658514410740392001612045622168935788088852961562944351448899635992373504108285322608650452700167503271594135202860781239014558753875303766115907842393275838128851747907143976164233871330708318540866565153124165440436228018791931822662844329462210483581284741004610911680215936119661100324650758813354846234072605407377725258394093757204351300666817820085392599770211856144857263036994622153466172870899110768077748675562394848466583002368043913705764783603059325988292774094135911647484452916057411824533563852966785428091410603378925735682058920126443407214996481172967255515391244761248504554538339743577858081490122339431605388042977647959450925639597445629362322834642532188322712615671215393599882831596349950883627365559055508623756373759707251808673492415624668546625552451975669574132709802375664323648119303307313756578149971683560589124158622695161542615421405905204453602079435269932980851821534085310684726513187300224166397871919194092845597088613622028755955629318464179770915265810006437461573268852447770226664554546399182425126942906505801258105449576448156404790378500503578875236377218022977028054660952249648743939559301112701983172229122611654763886631570330598956142444168101265875051190656555727800552793364193091639401228008824622592737452005135476035122750407531091387498537088887687495491517112960415295330736063803644710846658272161549266014082269053935202902466309217064556649591141609020329030271057993825963313084057648509138597067211997049966144134821227018322827257727846948062620606734784607063115982452380865140354937995627135866773771308005242393883571044187845498866618894182474282151704682315375139176333569471936679457863879674244469425508483601015896402830528605315131729504834825134514407712016527542000387942019093065197473468377936183916964357120933017973017494577809230721899461701141633968938159700782618200847995527009942303850744319574632020066742376230829562791173920749006003114663066333393003859775247551028726550265413511881994253797385862143425434621705085593712751305402907928362503093899733192464273785506425771428832583119961787780200704320802666271381966153078936106146944590729340276077242240992213530393717766185123750446486321676982511051351414640289359148926458280846651159484765043958160355747612966274783451027324960809201313050659551440131151339734178111373437553746687910420903036167721487570104657399330024992884392177990547277079593940306811346921312627006593228746608397106690240418185736656843747403237266013088739454854162933070905199391972217725793880615656089036004999346649094527278537108336891366659784007161834490460933167598379925340393262007909018752057965494005858080514134758351112175620751805509730404936969352469130583383787438223372252487054647731210687849571440880355248411267862769587246656344427832494198220001642833814135582369922844390307036189329707935091710039283268010297495040467628359201179047245805043442640086695561750306497927971614102214174064091065614675558006460801151480823661230102589191716615215192319257553571094514971311873547218969912794499231690266456651816906125789305485841964632059757209640698388921138371344149248618874377108492472376285368568242980713793856820953030486897113147657843757371702399984323002174224754036139495108963101724559039330146875675863998106528127542728222871417291246786824695020773200249782003884018768717231011017246917795997363143485377578670978714288253541704192811412366097781376455647313335479603335396096469936302388934677678702563652315750753657872859485980587049320972945282271941148279257405269995606870751553833879293036689921365445998947214082570772460071303099795537983120325688361027967660108011784753581652282741675056591912622913605531816949201314992463352895381439513511212055878194832358069498214520001890283837485104930456737679660098899384027028319923940787679084887899798975405466668773592150366627015470791897036589707282052740108943728633378854544115794570474426412746932168833636957187778354990195633210230240058350084359802591914580306824285203944523218978500514095195252906217541987132721616883742770528253935145393927661753539257761880603708109067496591221057329505241330899143557751031871842522795016543159542250230033360986657727487448127002424715948702010882934852426446096017962251772826510519403944494505183934788603949443737521332791560340364304121579012193504964086962167621296165891213454098722573243555810227059543365252312842103699462146224641945750241887560420091428039601048632702020671077665195203467388543699687981946023705960825043588955655600338580802776258436826577984549937956419060412016152843966458231168454343294056953839631143497310409482969374955166781768029924785826742988665656172109983651083503900867175473119877023258536102056283246678805851966844630326486220367419015004284961356340530327288999346190175535815023865168554060856090237458899764051302647200222615361054129338759867077333313922420097703315832023159602957845959649983308997339723713657682089427499361991680656439273584309354554903452717249866904196486903233426207023926146102101282330393780385876004901799575542203816566942447444482596568527962249211218834391744210952701614497726954286407047144060914854732795695891049044011869654799970781968091810538091587056350617286864037035986550308657675575481015275663461214729014377881918762742465989331908709000593643505499405818802609795389223317745227732820879597709115814960586803618960751218773606231205024437290369891207137007795499562162747323843163203450411496596380599428003483016932387905845155304255907281956272786332425638377349450781986627903608774094804559591132757020085001399378545840890710539472018607737460450503698702574387865153796020124743537488321258166882321896637931768254802028329892530756337864468950290971646851535382498892210576714146607575125755964943989393139586837459113781738027260436558000786912113437958477157737707380971230898880485146341970533466476314325096887830162089456025398272928260847713679548045158879073926934599106140752661512488276923471372947938454340431509424581711804631736919875097183546517653005384610741018059914093694468524161450800996225572885276319223750589865033949129614045197015983756020785604709801997052039476483095328817188601888071250178229253627815357069704126546750711642341545573865838689730230982215436732905984927122598831462173641986471871523429319712165690740063434517734482451449041927339142100530266079416211827244962773765210346567076698707944648710169587440700378882559959221802436656706429913818629832320972685829799476645703139004303562044483886906281292159870650017308641389319960883361733434046552328860306813462779997887381439922551902755164980956413383036054352077213667036566426520789185560380117583475896831241355912613638566363050394535590900286761235214637104252609903066226163385915225193001029853440884597140295485236623839278672826605478648367156704256364421595729758238425730438277845890415578811390818553058797072257718997682701343859961499735894265847754714338048620912781536319515721006300488151500023841170799858493753430248763065834429078650292221607723247037758897201572715408307908200021127694097897284025652926108112950839284856214748601455985605707908160781755202901458893587285013818109924895307494697735818464168554301074894720340542710394912126485602525502778442457336857227138283708616270801636775576375470484328411255102432023721789676561684422928161661672326591220469156006388192227515814695208367267849842337174779053527473879792747473822603922431347524058372668585862162807083294739245567285026263115478058384059468603242009235133937117250015123759989818732360081003344714236126628587572196467191801879761731226344809288997978316009823958654298282359052662261632283535136875165865597989382489835979645228164203747828258373239596729282046437686602330050504190491250304615823839302453297403374708355648507195858757730817620854893879803213383357546324890115681368319471560149872580262884631563324374016185493292580696006781431534108705384638423779391102849013812401022454320930052314793577112328360667403403263084013321809125840128701583641205239884287511435292558086102549264490307809284908745824648736207841685859039742277574392221654276803200434806852799288737579234122276473571200673284130922914683418328008981955363568851560909451874049061348538764105755304307575040539966291875713254241337062291135708807766536319463164555998450406165628525312134225287770487013678059236801163804077781468663463413296731578756460524562969047394489943999016370057469900830944337718055756600367677381319459592706592046285661994220995726226442141433434468286431377828562282632635554642420247362175231446115131220669117287101497512530300503840502225133913172778262156590223793493991096050765565942880373106048492512087769241996251624497823008142244314460697136499024438068329711905066955423763439358374037997697229913822711858990976287203523784949191096596720002702456693920838352236612531209031423186420720407376565676579591213775266130073627569053983594414014345071092993205351618993604266653249894470062866649824502691403907282035047751444774263601227904335259126509271882931027691673556844420376196739521031042133957943286538697141100856869032734460233654163332534213549771931565543921827851095109192334243153561183704028383624022880684972333381911761247528042552128759723875066234101526545905566108469930053223962331003614609730473074803221826058574158551858073345709520434436719100299106721370779003012254519522089610028223827072470479332943835110883533617844497334964788119515080574826602493238720759942719945083670824922226041220340047061486655632209169096761453726347701932373175306113343058210975098135922684595064807859194907452861763650030594689225617169976741228086823250726100223298121424263784822268974372234885607132264534335450668643409119422960377975731921104311658916445514738916447754651548322003001148608852336420050123319123538227394593376933312830538393436804740958660113705768739554287216320432985886548275144570951008938346494241848467492264889624546061028056891152785729007904990464681888346274399464863216488536352305381406134497854586944341733214084207265329862046639242684230023744278120029701401035471204438848300941929529307183712899689605425701708612017686152681944271125717445291940281815703455181737529706399334018073076818974904684056159577286075542687180104185026053826222123229863746287974740138555411542850836072869989379616739379201515369785224762409825537911370408897461307663524478260231532321369576746910092422925075638199573534381631171479464206541380886537451309119165248825083766582191450198565192150571296704583101157932923043642109714243846161150671762879316804033824876612745192016423957181299028196798094018440858834408841958556747739210045304930122895187052361054755684589133668018208389869475675249766604541397953838303149979524684561514020938477180518910465542091895936073147994394726323126843975703730069727803008995691492243562519982230163614759580276680477540726370248417131519643410444166647815638840415094473331647341077917832472961001426272277727952562417389118876525910346491206224099899938064543511204441497370869647009768662169540875202799977639930958225710237451875537762423455313684316795220292560925745123923125138253759529348810420678859759011866350337537470230035026281887911976012602234571744307957073976139609459325960541332798439405233416584269271833930036040831116881572479112362736380447982392070816396084136855261699774177387638946177997710611433322001429725367463228663502458314232037468919515391429542253887898339029783918050691258796024950693632848851875146739844892397639774700492925079786700603028299318128988020837933296053489542103582341883838266319343294568454727734403866482739238394993789563056362081511181138593805713832034088767017238949039506819613889794189859498476852619091701709121615221846150663183840414514601318872917854176473500352470691799795410001779729686402493538806375395132402100546767085334030267609025161249921843316914485599303413145669685955402420615129909483126479650946534053862452495998530411716818327113750807538814040437415396336316286209530571476982161538961103342281839089754702660345190191676606959412814639425572212351108655607047129275780044857048980756132785061317774359727428247433113351911389179221869906115892034262740234456948069435199033468169442228387381516372815039078980563703206312044639313981144894733475605556337053641834567999390561097671913868475630222177284674383787677930157569451316172211272472899789587532180907593726745894147261434813843331696815051291474427219697938979922297549530351575637726494589390080368333701609995271278637820493347879987419130545553086183859860529100694852645388352539607865535027065078802698447953431982469334576063636697354472350091611073396978925445921697821529896373736022919162758166538715590734609712630073648576896892133998206630755407981064612508209087120358341508745399805824959446859757279658367141362694154653930851241863781144759506567718682365662153293772347643162813545925750664129520936703840357262743095689556870272006183854758137662382642982015365149692390339881297709583611558691248885609360092596591267297948904833198751524318767392392948204286838688574175636993917721798563789831407957502551448848801149462344951006233300702478522353563876185251410738522298568702160153947368396970963967726176225443982401934988077713057409263482757426737018401524574061225296149823470118826397188270969825889588222354732945297610506020034644034575877753425986690230430208097963471825860804004834483369642485944947480615954907912501534725303033068181476535672759608350565923667772634165089762129099143067533390021847223575537300833320556683677272836363479853979792252079470272869094653133538410857694534283513765155837368222535296314357942159484836993550744515599636336039103221711048824981598180810105391950948785814070715826866287462523542818110044781856185028586683688122534080930513849476578656390859502166303497155175067637572987869371898487639104357272015601970032227409067796295372220152823128989504142184711135732301279686185711845647482705746655747117634820256433530358284611500079402356552445934446277456733316819665679465210969515945985779940699055554619620947980972987533539537599426848603232063489755966326655587019339340513792209678543873146689189830839049418641162003203229405886900195365631924016887100046779983436623035201074457283155419304637104487272639324998944861592010277604413962314542339313890990595461104915341344660585217489187018339577099409797025045203493837590215026882891249023365455726329597384556300362331490810591930352896033519585776722711379155292103263032225600655814775601327051991666685141538641883932623973231624279155677825765910245188339364063119045682577424973926824353991441312053983532889725293093699709295949562157278217396912706679504831512244934404455628153545648810219086343489791540655933357839215545091193735859787433667020689430322473369215256000739227964951813592272350948224692956550067529464531015869310810377945131098560779414791087806437692159021795478714620150937166518888256514328703637212340871023003505337716429341783342581926237872325205127922006963029735466560344993557576364765831744458935985358009424587851938390011524991403039543701839961764188407796418151056659401577309092556346103716750634352431252943898614009663745416224345117729550318325710675275707782292762697557279664193376997756345632656533310388663997126547795958301803248727409032916878233649985506674614638062187809947752005516420333063286883415750003560454892355059124411652522493957855620176786491660406827806697712887552460774816855884861500548230995389054791281997257666910656693273741069292633452678673306028635263918722582731442644965572923235322987701807227469019160489382881270573890519529353358193352849910604954424213683140543131391839379039603996188010599292950882484140095673883547435605837480302317802063159617118413668599986817301471830330470451299723868120369616015361775392402307488359735000186223031263412754061719365544003490195333495312677031871309246329775170637687411475655807377860423615385222617996618615611867965796660829212348421098054493412179682671604434175857732298640186003280320481876213310665842977978460995874936441618133038901400046073993346772398349465233736320992291715812964070196721522894545263659290476256680045131732841039675958737194869483092644184972248744089123041569558847494123265078241225625068075577848114950267428405814033930395830479928795236251992703717905712948384551208794529329761931554380916125824531031964431621340109500740079752113205639169351855644998728796866521561614828583234549749048027212437134127505674902990807496773302089545824112257951834695563299588800357374514188381569270034416876716377540832139926866081440442876835848344473938754567469833771323807985663837449132376266381345578489903460108058821957496223416004897798172397494482686634552428663972748967943656602729965788925516008152807109937972454296713225351046680828861777171385346758757534079669648190426606732589193976074113907498336381011382394577188714934645561027794913135897546915551505459252024873813510107374813195787076394652349876509586190244540121980028732647183775760994485584000241793339135728820075138398562589832641592653157918423316969041087083663494034596832482639433295305542606120553029411797166895325606737779383697541468940042154950062524577950866896220343766475419246729960797746784154239546603303671953838124899025378084555773660939506021073840122828945481907688038569791337614593490435628329731715246579342560577180165823983927761540326501467778618381846973282199183649864050072117204098463354528857122651891194072149400492790415013813487154917852704129265409527272945165674458864249682022668274658404024833737703419122458875121708068674538375106300520288566506981367795776522981322327952365989823420519783197986523870370205352962967658644281680914857339450549713800251936145288530405380700385382332167391883621174942985727718848278965768288481471263681657304756418208101170112754458186654594964509996172775970010333818723079401774120476340362287339400250530077526829012425145843035969930384386665465975563894967050444579965667624998924623480478265297775584812880763742472543706055377459945564289223247655069183024529232013375569486137373359327266746500511393121838831596177763194067477861309786208233471756442239583359587339518757293685104453602104047196590235346138290009670206305138282577503312581120269760105244744081136240900535115864949880563433010390873834562987859481326927277880789409284812259984763154216271258394628254893783209310882181462778585834542498260881080736559776139617155878132514640189752073661301788567171547229786386118157713067797927306870598171659295815821321000526698042453555960974652895919203282026336460041142246520672888081006349015723360383094575682285077377173963118294113781851300062303769908776595405574979304796296079261079085113371676497846149234543219775525728243251738003494380381344581743368920624926284840324068275744998786282903562533010369417620453735125808162928655369898373113958224724092970010714214506028176723996295855858062027015432498400592611760831664341571273002554405591600960785641976670208943922452365897557070759627923083840711041775619764838048367700621824801680354473128485561298155413805917225768480470138580139816763156741033043627237981762520127350903889834487716543723195352312443632902302280304781504272530215036463907077085597607317955831753271412943805052752948959868038326118523956406762517682922479276386108179425863311965969839827234317889546054120907571518495276439425996957645497817486817819808769826920384949964436464554108376795182877986132575619396976532212017931962476530435901062179241133443855946581709525137830631026919969006043928083485225897629720608509353815222756899183546892497022443548905219881566991472908630155382765689297414392325489586381780027228169199111798832494425410959120195620468477802518238951947540236996295922477258104126404616603779046864840352309063742134606151597971554664319801380632034030722041320273001625152405225302603871555963814256295176166342264044556220240905790479232896867791128589242114130013706318666906123328466405521514970964651345143256989562015068427484758764601764816603550905165252013603056559065721215364413716592643339560471483026555983242581760843712929689989576686769342623506187423447911022526320998046631548793308655437149896223651016136880208348142282525049206181444530054674391109295072424504272565631064113074777310252874784718461399241344434593369137694657386833228410034454842600186422846194487374838597945350550388238906131513309164238533492866291042940065816730181651937378738058351855560291527100066970247108188760730703119323199535621721989773713528970467171584085521391299912116717660988381161814187101811154161599673735577956234561167941283125926767771768381651674624302750741251256774416356155520676523895938416085937179034825349209095345524320025825624278141846624562108239497591093170118750404565606262074387103540646113171793316476075314254285227336750442915018345794032082168969835425119331696951004224297199477715159339895071539472896254432610938815971613158647030267600592198737135592937831369572340496797233878404292010599410777229117831755294515796609557230587938234201966651140134441039118539011652310506746199101315458426090114690223047919153317489380346671301261728925485767330444590446614713172663629702741649522476349464300215327975669417846183252291669728011484675696022231882750682375098168023601329194063537703267764256457386889422790257306543498634629974398495736162693845584381055818029974360306439170995319549944163929448645180060120150043963048133578292745673148685242301843925620977652846241684690650670306128634904365437301219566702265313841494298844833496904944212400459511858291857512894710524626802428884220824211111028538092713859833947659189421953496144601410892104967002228930286802244731476768464604041341109568801717789821244898391710204549958844696608472887882921480576376882587273078000822105141092593827090593030408853561817037639399154584038465172864181466888340615009038120259611234187235682762191363640051661164352825605949578611369403324399840988799086055286029321493772942712386948660409696093461934015944395676173261981994320199239605330283458133479510596004170228053547230138226495646494599888877507307792260492793648922388079755234398389816354913407074452444101044637230233394430910446600161675597313010421964748474327914319698384289889138260796971954050946866706033749644584255674090219065924039251411949293929169407839369891855165512377647177368260112253322811476156361321639615831204522840826015764502904947745525202784752702237230921845828384637347605353763957389272449505160438250663879214616255262022274650837788407106103041801494791415315358491197298509852251587255843643524644656189690730392023084125362435971480963991629841003779134352896888106035008483217478417259581087395140330376866965614767325165399483568815745797412451577006931511826830362966337362685844593831569342889406016029661828427947431954073173771108731840392020853844169357323032829775320042502269270184668577097617255556043818221752017135916231719803157812853023567549375054676407837261498667679888843271664534662988506038419737706199960897591556242169647929335736442469144910048375326597764882407636255888813491128023354591217959344499075733869580871524885853736187682097565680741003094234356620595976138173211320213777723702149915228214023912000805289436999897871888911080192553467876696060442246813218590583254398105964770618616048775968406045334008286417903276879601030995982669793870689061704387364568155663212946949252073298733283920298477314429676856629323185953383599912786896803531486184683436073722224557050158028131721496124719685693675652551612418707006392372586311948500454295355168480027022156400273563319159975791579729417099647716674620107986565935642628126681207119782917528626107162445714675186894773168920826981314671200625983556846824714101351424389173006468254303783191879904375208514929848875382274900383659572627155273258784511779662686878401644956465475166518144151978125632982304348251402529309321281556084325668942305167646618447365688062769294717766890936482470916885487530517824667543648880713370398220474526489440411919994105786681631687900108589915206556757647637880603914730555030791243164263947293412766068071278341638012086538782051387726931228299401296061113747196302456229959219768264721393013590780325276934100041665643012453745885851958240922972569769792453880359733999882152107899447015761172349606109831402943458891222830184439937859653342645752326113843496985916545036500478600912525077103362389296060011634092462171445422054908621023847295615685523367070396041627346843603837649741940255003600868031540986011351989360320188870529554448180815824402901445210342856901016243844339920976036103262453513698531237769908686411491891794762489243399114930743106432432930925784778278744364824883477587664011980011317044357952765151551039422077299585467565949522132862375105373491366148013282365908039895760360724716489359974299238386635954853573820820740462664293219022489161857166824515559499718235871627527824644089531028966088676644413306241065414391975765854451635965902090684359399048173873260765734982788449225938835186844808511400746940632151749218509469586707731098497108050985159579293178723412550158862374616197237525277185156789673630868890012404661401115146541381003279156147548284497432912544675482807798110153465205515957391505580651129569130864355056739040046331928237512218742288335350475979349910503441711150835111102064180284502204569402297237588944114218518300321955529787833325801367441703770485952031813031194389388907871031538656710771474237660892717554196382094052682353719481063223620280359245551610822652681506454106106582071741292760841179427144292936071096324071242003996532098510201484625077850283233134604782415423439804180325621543169211084482228347419314790185917895035191354376141326053136362547829629344697713077540894420023923767825557263312001433326948895689048694731789384003521152105662447148947602652060465039950857670674540774146183032493483759784766878929296433996264972732747336318607037507117141600774884062594596007415856452274492888211427874777094167691424524165790525491792461345163670097783732957920147677725026630028757168355660801696591610223313836939293555683670049128567312237189273056830357087762387453579445425055350274190179452596605404375508394004782355105477996893316296217197844705876678882332121282744382661903536097381375952803690365707218156801598498717884988743487398584688044216787708964444259150547859562705041971632333868152294828394539438841093780462049396330441987052313124987714479334879816114029608270003759604153939273039394271729731617317433421879521155660668807293541520415683719099277363077522403311962118580109284678450151182018815137106226063619903994323196090065817647070990118388087853831876368514445165513630284187930263627798748167665931368554385427019611876460867440408027842410619883161075820580668809606424223448952770455195557703509955384901013413293391663477113673738819930734026913241512261441486954978303921068664187478218305817890610738798370820250486346242631594144984361074277154117353784342536064772847318215223931924613247084030732566734136898552384585693101561393590008367492646036548355823138850626580539137403842933741015532622947601049057174479762633994092220637759416122653258647093448945580228396174110535209513143644022988159868382715667257964099503405581162458058701853753697878402244009182327031005706614413660333021811437052919035496455974084145632205437413543093048226697574534501147457040830520310608314320268474773626022386745044871343660441158875470735028962111270865664011867572315984352973386705811172937631399658419384561881973047306118878547191731830665619830395880939838349580460570681347114597087906298506337405129889673475558638022607682326820284045035835650137983255898834925407562561213238509731891524699411065910502209854328399345227738439074999810002485352708928757134530640877099587535688052821585920230698960638364942883796262560973657659478065080376225764731028154894591211183619388561250426797201585189279199409205799631110826250994582609543623749204346654762958297596456482729437636617664960584449115396382632905199608656988802663502021322048205964164067885772484943566884844383358812033868253146024472409178110477354770728597130715360153270177453072399398791720657103246515840417771500757126683811719739058294499492564553061082134353670944880530677561971208200331649441571108234085396499403526640972136266553404808269667752691301996382349120676784475094757082253476902185815802279325282443674998717275890703042478848172791837701921335220237956255903299136979378352832438330806841509931051407557698780899559331180704553230592069709982912516457605010005158660091337033424088359272973060498855709847570223930833640673277770426640905130059617499250592136523097293420295183947899918465673324996126127526332739002308055331364275820366934970325121882258333145291206816195680890846489713492192439085485025215490740034678987029485372378829695098311073042752129616136787558576326432253739816615276727626648208422952629655724451842958448794190586355317438581564211596926162598093832278928890500577569779424353586415539362292194414334818532150541107567085715274900782926496180644093189478849710924124230394240256254682769412820012591971444330543536448867568252105135007443072010977825985397918627231922588673500366288819141132168894159214364045540611136722098861082969935392913125056212969313736993877862439987159167189086364646575422568961109543803829612058628729385661552703757653898379673528443699506271707202324500264585414949637356936161646322543123926254318008570966791741380858162768553812249480765949579800149036417735625059482093604662167683794712315176926513775932910032835315554948869676211455362972315362195504838988337171816758553263950532419104586895264330211236215026672822256581043219496876915862672302418826175454657066973260306748284882133754638011476228412310941377646678962059944538100851761579659625736145143736366707718471379879272439659539136553266192125923292802798639871514367436993008002467764064389605773417967174457962580390619818078746858291734887847889057807413374773579079710074829162952082643824633833583333175503695314527286791657039993879880759127133987853978917363215156502482995780276353706448454417146487765266238700559755886778194404882851268640627474187032438679591013781311214152075959888517266673376253008134730518975078380208286472210187083945678870061909334611800226280564501813515291365634628758221028455636091676720232209958202699806202717236162704063007702854449162839475477508694809501916530460556050186046606629062257419461442055272456120268731223902529015171810149329649077422837690017516835279417855846612804147635145406956182722731344025930495892047536364752231363424734876412252424362738669321778970611482782164479234802919831508669108928512461877277075561096380958900636904097437754411003377788425589118216465736691758029548765190556451330050376772120313343137036347308037676963623536754790433001740249548497628381554496731310980160019889860077020122000078318570329344355268595229352940921055056625403033469341955909751280669556104442010093441799688919310486783858120105427044694038714679602085632892814691943265100340170278124549035642105521704108853038953346055402743156157690981640480870743263889957820660597917664456792083152652039334232035902845073060657162546727849077849825797391667404427565934808076915076352263824509045225014863077616078667075639009929006188179910083147978862783019201204426564724044463762148431324614406569999385693748971572251127103991973270259170916221208521208431608889866703369409271619459417966559068111524531909076035206867450122336387567875260919339956544271040946151492375491893478263383401975997005624760566133515257881060603799351005207449102838772450674454016626965917742603085271515584238570687773689427308146232415729944323211189424166238583891056290406814892023051815879768889113434101122716375028089630302661986194914871783847796632168335723309691274844165436492844278334390729152372102564960464009949433513324790049822562961595762314325311191709636681582002155295647890095732930107745097724536844724401463471643291953562724117424354844757533665632522649823369398835038451914056983150206894840077762628826757883294110252252153193984014378066348813509837835829806070593911357177905912489507062572517603735971268042301835108087233372675430253985036528708233680997250255188508155256437321371433832999237454786446149058749690183324831149143095008133726549735193673371563624391288633980510545800943246506655213676551804818948469611032255626203658269572738231712548017193973338918764521197194806291728109962946344991208634112152099759786326158946966447931528294358355924915695977851844358793692456649832477379916975207661097752520612047701588794990792859488130990937239810441678500513635384870791549171403485507609826865750554597518037725966597263153262930318503328027479257035788637949554829904947271242331046437052887580231432019755613246573079546792222407890152201066916756886979430164408073845530535262532390752011898730972512250462614395321019016867021481099099854443784038301988741266254614755536063281293484132484110693176300560233156336990823063848657285461850223038413694057145817610108336975176172092600221256886827022261016623342854424413485983606855259242986873629487801598601829895792851957327807489046969367041768261763560355034248644407893924597030908451018960511266855485461880863452245000588469807083613950074594004008699979586494016369136813915153937959930786211569493098022182929579708616258664962972100581816163519002172848135999695232246223861352480550410791207164258067033417780298824807454135982646132679666411360150957226083283231670337432634209266568311756407556435786326744271980159242610300945613938766237413751148095140888502803080232083468636919692844533579441550550043739244650011725136804906093875330695618354542864642478787019932542911851342038801994595777838137169301707569792605739794867834787647393398129504388367801972541666524183459274077057159409587567742516442754591342073319508914981235801246845802719987187051099974906049101161051204059615379887439845559730548043310946785897484131201867625829899744796326320621852702627287001184960521438708645746477063133521633917929944312254244122728664962483818375782475462513354867037104461313422966621776208172276066611715859847266942414663131463656301856451114266960378515902296663369176943365497934502899232029933522056809602498886116832881860967450186822972045444062053460108179527908278655326954748994104950065078211474760104048304075639633111943430780790921490268221849805635090431542266494934788010766118634048206192846597124438436722577155991609794928999673153581018930100864742357717168070563302130292186814012638612710780936870337304421390643816215669243947501133286639682466413429273955419288322040279608137767476249425325629814475326076116568639538147548715505271518469280907937310991511761200575293861682368316686790009844567776607204451207002901576622179417184095783138503539351495076662964802516873906902263792351945395943394405892243145144020176201570939639389907603793046466029399135045130777170974932883112590297545606294355146299475476058028774214458178665291957587040081966996009547460978107481480317356090139834078781003432733692619535422496013446602406353962889793186978451390582604190575549007630247640496897549250286687220358176563628655309948103334856470723303998145727033259329070466679764038066637309850542776614035225551439846971281641018612695910509259200506167029762465395847669251001967351838222986447207329849370621667993912940586046604198466041018246989727441880832421343978675554406673137166464464324681640095167533571379974393530001708225562036364097044833317435236558743354859806603383074314300640835076070570981485375922562748784493262471380653039813296750594723932686963045356498478167275199744422032575211095404680354164229308619081609235427343178713888365431469916558276228925222920753446246995715333990639047338871679931311048241821233371133632042805420779884905253058997578409882517113088349912894795189215538447199497431481309803787325001853172535202330102688752918800851623120582283611281702247421249348144393251104570856225502501626253478560514224571814981813806222104572241616428667405447624031223736343548992010575448397287981045654056336579076071200362888883865345338112369527073827686501739480298880252798095398475738843771589435993595591557720284109841710773473049127745569276227932917789040100948401404513690317452411697969765164469978638499796064331037224681719193004136548940934166563370132529785523690632011400991585643565181819375975439835403791856073684627466871198017079015997654250933991966933646175676569710535207738220505221897064085009832668391734969273882188233442761239710108640446605812023535529422313850600055517191952665079627391725270075549731658417330003036492811831606722979822744127339820955410266054716041261191847314782129343088963366440852125576895110004961077282751379339977020993332072786604135922572668538215201744202640918438512615010074897737321844329388400946273742423661121510261263557221792072549169461094282646350149900569259455675181910489502155620492754411987189342237290385806732880507598803987555869210482719676238486686457274138964967664295708340794393628415175779925398847979713307705449356782691624084090388409158907131995669970505291101478136382515112032790821009372938241942951989221212155344115352054155152743132927611544303559651211852830721974429249322289555251222372613794681788960181613042073290543024182967737243354136789123735991905013269081565574597486778517947800043342844375210846206888017007216017995564195018474578761807197953656258273055959073622096547959489217625696570710009373898950076808318647503954122654458290047753847069136261257633981038855073530727293378645679861102988467505805296334697697688015076767247081099097651114308498213013794781122648391897911017092160601330429471615316515679008854198528230754036143782873986960104068877587639537006567880810482555312022445165219813147475257105353252503199510098438856861264734195945321119379500286113006455104843820364436134871817530037664268699260042460139473002335745111200600265503168765103047330240643101971054773997961661637699785450795568002353243941074181575926432218036874640413888924825180299660435117786974575269043731119372516651635428866242410633596114583113811480322630255439145608338501264153568055588838095908882175250454323680233079453226875250768806671873058837007815928780537785224491973266895455318447200288099793282724519246198532163956668306398078658235076342090264377703474340856350988709499334591506065495853093053734305676973648140199735366553391025531414587250877950323556801689096048685265115113771641084851685439738813971172894872892994386341848343577716881086360871970560519143502918522057083483399030682423049212156929814354918555541701435340975103158684284016294082329400571378938358883044197863465090605849590265925071156552746696888392521667441950608064519331026370981039900822612480376180143030790716639359585312292134193414753620749083586281152728163648473154001456076226734741010573289652358635925666465189066358307840785777404816440828398391501609448523059366346418998066772555568099865545093194492723292625204734900791122035499623391581832072931100565497907212162982971942571395191556249314759840149186823256837661695004434379237342315525515409272837240387915521085375562950837957683765051444940499541194440549161562007845075063024628648027395669216650844277714726284587697841712246569996572542610427245866656253792390898155124081587984820221572127885635656430729586678660214265807198887316129574058292350517264124077766259591015424988678478983529126828306268627934122011194202224178893756494535481433587654916075998810848771262037066709135206526228176972862262471231018961137328172754100260490896354557822476000560810001518590986185107644903414215533247319036160575383309488131277271560353572790688310470240832531584983983171876961485454835089759195358129907655040069850885022530957545654910070430173051537652363112163316778118972962099654089921678360968899161217306758576828277053942983366846794770637961300453811741192657294733750823668906971423343568366149697472443790206089228318661608004932257829114169198045589298324705189583087058886835090061568561992981002738949715159200741385945877178397824776203417824957224352723625329277797503353833230272178069618899557206915462566751121360184588269264373863878200242676850054885993663639780267039491026628604969077261381831062999032448047684473330710146020658277332638059123866999512802123074326431484666648025402943925505794787092686589441971591074048029592518693882144316283928231622308113818819942948069303504842424516351113061503991015956018157126558193909053552339107246395264809901371161319696970098907144629190150543358293206759987218441636638814397642441816494095269409414212063416703845422816910644392802691234191316254020086603780732743594527593488563329357543848592394222742628723610062957909818773062694779939549292006225447056449262255884962774466168385510097871505190598878000502742031063804348009232499489674573477816049843109894053083803756279907209688436437991638242888515493747337453200814848226558231657407006391081107469835272575374093664166576121516783982443092436447266869055668588442918381115475147391047224110077424074215428881120597230169433864613782724441986225526795056505041961953797946402190459128615434532659257667086633239695135239418428167783660342857637058598700894184802839792808816440406847376864578515775804929150210475348136592874949375263849477090173097012071509969799188544368516310358642556970583777463009875516257198478232276524068552893270281161784787834139728741365686142062880826684289483331393249319472369222180354671338649087294047436983931883765460411353401348556213334022598569131172826642204666738482191630422188323821321474414518004196490181198440620595333964219577705650912949830967507762643506813707648362252235465541220319346140785796408680737859877176021351018088187150221442855207751751034663798688925630138408902371447093656215766780045510236014748020987052830353023359823194179683683981209191265655063101533534781708428978320736693246240531609149723478322889020435626694057224339243854954609208690184391761588931253618186841013524571530592759178663296764882049004861925986302504309709287442149582884522620776981306473895929892017077045210376059527551638869930017438428159263494625145457955851801789588406409107156502161452149422567346248688164312936819237762280449653159335910287552526821745530173640868916914567300005898114572976775379857140064866325693416143064870876635514566072271572901911304828898046717280547117389664272436862344494886044249761013550276187794147715357852750824315131281902156556898008120940985560450532773222725658586490003862067095180592839401213331093189875044927266365030561060904150556983268295912003110888938528551413662452250256099415499105635396323448658805006682706860277683862136929667409107623933772246914268980845246256516698519499878613421269020280808441755826351452657907510532218095898350675650744297827794883729247205015800699745177756605993831670067178963467892616512117988348225433215540559737177858623643386379586789872539217266149871305775555000405707732527150880092766879569235535194107682759959546324041937557524939540017547397719005804715062542985632520233892144008871642316505400624015982017578453177108163670969383961126371290810753472192405157030249195386561511741174056690723657595496311965304768724397047474613279583480791880809679252108472732707952181783664551909226479837880908587956467148761194439229261417272072724501440894595160963381405136652117724653089093659233138025283180414831385574019830678097329810118213467131552555355134759117887662619401509301807196060645629378674808938867695774518972722451358454636579978584035174809983920992565868553023718273004694657466832084308074645527522221241449206589510553668058304105655381979709529684673469696104058831776310655480595316494740235258776108945342538149383653667945450804985876801663025311918098434105600280297511147649803350573973067127453070193422321562818512575923952930525135610129874695795297278379951347538044587308629882904310612721135575193802851429714124402838515706525298676827305851791425932247532001004098339096498118224914085041210184897302354513652640266171812853037624879808598392937981986426354518067245318291700816728463054881164576750326586425363321655731753590493556701339136158505939698780364285401842731364318746558388065988149446708159299377422398119317567823921418445593826900364965600507636543244076191545001579384227255282730292839762276865081162511895051692130535818547340866486724890725102628074152100916422197703712790336270391562239770271016122426012945501700436580927976594895289948039839759777609871217321852037546634984176573551866675267692645918161409783594317667874475628828112180648126879865236656968601044981883560728332001751058854319578629091245047793002040165568586424646076250347099059663777955703316421655492471339774934168283200484466329152816649102656748690509140125909736660305172979529563817758784943119792469768236689080695866613008343043089250518087607759827806756612471986652676755739714186866280730089922890719449944558426416343765265627762130779967541057822509654453487326749632806492055694740962239688069390721092606607387377034091543709636450146495446932971769884018298913510043883553210739886059023070981596901624906285234744550834143290735745107914916790477051344626295461222270331162087124980199619792316313406653144487007787264275884355484837695269493484459344383521534371804195449735941444228841874497983998500702255568930936704085815152232994941557487999724168400981279704485250066383627478582215507827813804683632890088988946296749903022993873207265311947285554416838083856714187653696734977606235203738332061622189544554729176137702498555802772693434043920868458547095798593100397590956878245931047499139058666378834834997701329169152221783443221444723294446512558826841635738202948055327065909780212768057358428539328654093262923722488441920447513638513486638283252201359107201621507910403080857423930098482884298589339364171224799863338392282777706671564446208654256844970239118061781012831592681946083740606339061783206421770558836997492867193667129302466022092012927815072800375924071392980326331754696639539030721739570945247661822123174123756175247869189701242828519425036182126296769036920208051091509041527280391269262481464590281266558194682804415869171366238975523717700436265695729144461070511743616006399284660758021826412485837490379640058891508514206954812588222654058081868455174198927534545790629078581439512274315624343050299593177553272734514446392658322674538251835524867768430942285759502158147477873117251093347574702233967883971261039106047326321811615112830742555516215248925704030395237217049794274223100753496968956770864725364027865474080666567298273691642228227758283853462519924733186150899485453622520988570317580203647274286042421065756535220449533557133040032579797114207289207570055218953317278373563929535395700850951266803221623895735359898592573018278039369386451294160280509249999420889850663851527429881016538156124011903353238779527874052916254428244248759966441587666251822815961862395113460482047343685449417365980906347017329690009788205521087733866284093998608232932136566795531898248918135760028436757975853152176077610808409756307423357209681588752286775935148106556321766605978090215395537833775823748189700820471500417268716631971379647155115302205353844489171400810390649043252402063662653653904773986703422652428473597960934915498563038685962406474401079639108725885216245138779085420016774521512053033797554369895514684975034632141695747658248147116224133482309876868862240862519166406788891928153713870033681865151527391601461195236265058047906693127987298439259560834662081715072434560119412184162901894607159614721415750455749965535107660826895135303130292799494382162341096906999066451026552288647002257853845601098612281167974379768583184128750923224179527134761155336981533458901780671714200291993994561454384878021564839229697033878955873494667543898291241315124801676230066975761586315609977310903108318851470079813617600683734403060234044974492640661984230862572040500651982624747140203141941286367280953790478049944224168649482579970563953367263916972350043938027201450081874399920548633385521948044746340800620031068054829843790734845807962673569364255833210263178601504498203204760000644291845108118734600050721691317957973498497159618402286875685210882166544539982877501777219113351165708030987564436843774978659791506298508550387026456407475823042933788155903981492014784709500629636094320473028368575925715601569126922296363906447640521841454728094682102002370219895885784205340827409596928749604507434609316387535118597741245542223199076263399639173763545232789218026199051130225751143009933313581352504603240614351279226995085360463182651895850726855025707280733201016923458634441878979767779233000700421133167501989669521150133321381899129174705299989658806977954919026094145025062619656243354281414509947489422505777459003434312589770477486236918949897531841723679219534137576124812752762431913077561405196818646306659984176817700620339873149017853239270503922588748063068469591953622759121057877928427660983831951608340479231237892324683789032077396880075791826138254984744864277480404275180281913342163593221794893707348410256520425679065045068964125510636245296579158132190005720325546525880316434410900462792383861788019655432336938948429513680399959674606264666266347682275590663781621937425056522074489164426362504372588451962194323827373249234137723671701611088520159834522457451284929741218554547603885579162806251679858805093820000724678289278258209197189409537006581135818574488332880407011080681706214287771477868471701177048905384479638699635482002078613587402783348356367024020065476159084946887480117986358034880872586956087068430759807761657151999844103627829222291540975760873473826012492103895956661651514321048517295185756701778517464563527848542119241617420993721695757608721842521910986309902736510420441886890770557436333032585709051932853728733650523325022833447944486842063649188672864158232624750573989885304010053449976509704957893154110546650846680207322624727823888028015009484085930614613690597757072169747357019555874948010663812752320446502238356617806477484002173931735677622682111875598044897331686133079444839916127408173592738033840831128757670276684799774879147764981713967638210141934749203312408230558790669622542081518775143016715904706436809376681826156998934630796466843385046567984026715915494695730150807756233458544587383613193104752934810121537481176739772514748532145061659840962100704554802990971586994357215737908305809082831407772498481360487398964626631468615690423997448971054542430384269543592337836621928131202239526149444518138419879212454355276868107512159342615011224121202232259265693877009951784099111591112674018353482530169655294457831438463314363357374033264125180241930835333312151254815758982469608469696622938282834459777156708902636122745101896081999305236115403221436554797971811954095497764168548915182480031440233786452870438080614251887888041770604511555870541446634235515230544839901048139488794626020658680753498169784992457833812517470293752640582785292522211089127547329898021108605053304077155459291529865482451914770431579416379349859198873434495817776333158464016972302855316600066630430857895547937980551533237769752204840445126969912660951822560783070934713009810784998040172418083486978760287926674148211281651168982782931793888163046851491285318704509197096009344253486341756538572378260730172008648362563468591634826495685765794978989312920656863179380117307781808691422492219457736028226155392179548898907337879636302757704609227459606102964306637349432111918432748057888287265599603734791754289975191457784634362790999795809191362132748270145546511503570807236553728488729332208345992084476385061339520806046484044830824372897699276772903565899903557402656403860881278843645474549416737046009504885112918981310675456748417074475172272302540881992476535258964341076940569472778607630088435851194772601479178653533250047074822641701781908820882843592567468522030435950953938667994334614516993891040141565420415073520909437880957036176347512058764378426924331338696614606732141998062325589974267649971300041983545971761217557426986920413901914983961954314457280426801233455448145694867055207830330213201340583534980015634905880770910150043604535943997076741783470560310036053708039548454469208090503444134893368779041541030803100849124700775679604687364324741745160815936361171459194851175235047597396762393619451220116393959764916287701176813575373679128935124904512003581520113083261449381021865495075483104770377607601870822036333750550219163945210415814019245378305628980778250818988956013077426906745290348056641322920616621615023219866935762688635733176033197838828521523974603915443616741099503294260917691012217412346911997657883462082449641620735405388609007507498272436825650808011609294161109339142718278254901545490278434748148649409489330416093832025781157404452475501728168704226667174650419519923229366527718312857846736631838460332885315826272001416273766118576412054042086128051522334439223730097901648519548591175395942132757049434639646072899367045109807449829638710050745759616708125377698644941335534970881139073340178513412456854014991412961742904708819174082502354900077472971268817930523378240225284274691350429824559433220389953074383853889845009881902696375136095825406216721557908739489200801100325606127466124505159652858794061350793242765868862971577631115649465029829992954339469381809528778162226258195439169174820880452363267011888454511264227092775791183550609689419619756731954144941499499290883243696537346329152596983651608808548331068012110960448038076631585121251758991226275399002467617118612892763967723795258600851134713263712570559696762014434231312189812064900250876864528026536757785261401221437203616057844299107147118501285546969432978241519057916045419699969398024544522865345902548307617765862653128843345116630499264120842214162376637689359433744727581621885708388870030441187477256510900079654270321071018098413169648861190446845970013441188664155294886685618330189579214547823473895608859007272995810145768805809970624242893088503722358518165706053684950548589653828962067495073293939185851806481262874331614730469326220524351646277968194458092828608877493650711615274898029894904639401694107389868839602912578476216896748016705122025145506941089243349411712300814806658903065737116115345143669580409287251485222316192189197903910039045085041757151967178204641034766754559013095812105485236567355031297269780010558087543528491767798738149868683921713857019952041279601305646652010322882136364462928165131867476214854743569758884825128358553886502859977289347323424284952467812578425071969045598193058558282059573094818329220777739515212676675070630034638785114868103098805083585963820781704719743392291571325183277315299081273166512722626071692997558689600796884296781280969463380225092555148332882516737542989805912740120369835483837192111242657481774263985388877185750529214674685925788195190341807197904612471388463031417638756978365082844071225748341237985892927558410079270810076707103014816808652313183225656161324595014786972206197964230260293035353098763774928700243257955509207461115185172303461496827381283312480554139020916946423969374613360819907097103121871942116281551941578778935724739873344364022436063187304087803763520537265531892175742448867293306975966129392861964514796237889803632536652945209713552427384873237798772580079081110930369967429450260890677304015236814080997850729828643013002221997669736769129308490095507519761508687367000308473163541779657416519756168330903457192532190190954780705807531817622355522133427432779331208699013441474444208668813468868037848176668179551721674838258859019034631430141513571747065808306682563780346595855291074125789531275001712557472321836190182226045250027831316776598834259862826725447071833595343217749323789035363231393116909990007967819677894292931450737887897757824157986371981906969177792273913509062821424199651018992107961385590653902382567121249398137666990242308719943706512503786007033189971562216709977497004513860990847759947272198659377207507213509594261207993169434339534647846480296929504441990752300532157543582024858327181425534751071562563352383612845087922910081031216428018014245836524255470921149240163399673142872233331266088457046092530160491497786134401704859852896968954259804211447882013167043748039934235207703237181787374758589547745204087100593127517837789777175301362750830757627427219607758211957712455791396711545797975886746246080713170695229092762815574617896401047430626553237257593927335785023840014985383365059119872076917710376795202301472565097139661877814337620983415834473441933684487727416928203007315169214596081450605604030930543044960811164423928975616133125967593292181980539781067172583504282299600359870918947829401341410257162685313074436540262579188153135186938995280044563486947629354162926885881866684514078122168796139948574116570546136829083117937710681472010576752621396417587972956077645304643317985655671450587607006015342020627129563430457551659599319985755622360866000768463439618426524263376910572062947863590178507680759404994085785680692317359303476700629238065228272447604276327878403671048081186003451325170108606507369763479405149594390715395706838934159619574742914733736865185301221216773691444972786915116762227268768110884098500925258496555891045525874181316582391370572799825550019871343546398644441376536663821071734033078115040588764299863062110198902534782308697179018496524733353634064123834219099198081971720004940435205179561568657556386650581423991314009511794053897027489114663442213583224251668224002582521028118349823868865930737568228056553389927478472703899043590466990195402646544215339142885087192381678792620726308860417865127156580459514233540062065561728838260981986350726934156336881547330939463302520131845217672244357185306903827572053620925601426427459977694504120356234609106727172193966741540556958049908259418190920335137466203873306246905805085089021187906889728132678151613516732120524919400555763848892519143114835678931735262285974648633295969802402808593471503159501762562424618901711923691719784581731179195791467148879891184580660651184601867607144436024483668438961179516464330341886454034142258667891637586088507361508463907378094923902015177939154966949492989214862548888279191615617223368980538761713780514236667665138090424285613264821673137613762867029862230413606137264366240878131135261650994513705808352979716198452208375878447071741099080740142804273811578348916600332070342168175226902529733724676460298335965142993641342470302718859651612270574977372509939553079705264934687161088647189241691762633656480834936933562870866203843088083100474495358395728429080497110754849706360388151569887355596100611463229593188123026212338645265180151761766960670632040232201000888593810224164456263423926973854093900367418953783062066937947264908123348205957045204139158989671414326659000948461441768011845583120194800794973824068408635978424560613693763412103047895822312889788554210076554611609551057498737623877386910946495793408286383230072635133620738767739136854535539833530287909398357906672473676828173906101837467123735034367139396785125836197444630085418555535244837428989304572748189000210202934475154980758239864608420886906340393033107433392445286750032987008579933402968291183133831583715338134240056004571713815662004401948013369356541539380102684198906866591367642734684721160592900524907836025138889744787190266709123526756601654867221026083978631184954092034391453690039858021111759353358692090011131371284090124552309630889143271986183733345191834608537198780972159133327439816255152853830190120633416023199487794057809261865822068690258160824531810921254245855522723434719216077764252301305275946079664743075126637635875432164620822229364804570269158107306891586466868102583984062039149965233122216787179721329569869723693159443641322282577820139642485229790042492267005832059680959151211912770132597162739699745682554959370094678951434987203138147142211640610278457001301413614162651474864083556999778650010682250932234170290885892623210448941620833047822318112171398152270310829326936531639794902386152334766050794789541275110461517627717968870689290216130531030516843162300285591681702392324508620296131374093651677177466982443019818724402750268150595098194151182654555211809598307544691506741351958765468214962427853289063368518751047686572838420564155259241848151189087564056213104931513777604905004842493850568065911097739814369734461592554586792570017326463899445746992220827307541208935624414586025496049755557757552764068775964514120652016754246961837495738807583303778394371373728637053247646312397315758159689564661159327541045082633495185655409526100084389222920342602676689383850524687192106013568753845444321481727489208535654804385537714647853282527640155397275826504241633958204468584831632759361358656075756699473616373195674165615054781820625996803412943921553700502706886846027493141483210142148865261611895015362653936798576998910789666191402577646388579373098900868136650517785050720753814770329017879687390119327808197834959555824884363876244570458891381985173995737103597015244141406996484697569611864187523621390431917843381604376867869129919514584890693530492524871156121042525570721243514137073449906521475973001683180526829590942090585086781038036623260127709936222651983151687941003249988407653516759363365188034502392749945279408215729634783699616017947447514855267007319703587306394355393714935058279650314733206621357663178588627142046263162806853164064095993890080791267849491942105061634782743391186444194238196838640277344432745585667572089068894979442259633437589727968236705873618471932645432124185340918176205124158501098828561053901159814990558763445051803493975583914638188521527851190094935160923872438073289167442272318435125186060074165411441742969902781040421912018671823421654788886267586300831658228277514599383152515160426951452192359667394897309086663233071022439392741807581841258692884298888801265631143645001044296109984211392498038814737357278965941035909882084841186737820649241438818884032909014938854750575149604401894932111349744345999812625110645977179007041069514153503523064270790959739799829014507161697681136875551078216654243431903521469557059330807788677832252734558885526082595281560650221989754002200212888745649613370049110352651412584286402717430182494365820410001597307486094932902125408377476119918232244010753397093471791319069009995454570560484033945994453376134690635409139332012048223344695495655351012429755662143819912557970861450173299692604952273503230097246017899975522759010951180370571934281498210358113441866944186531031598322806403941601089402834384913302487829080301425404531441004275350845109737326006472158006938814489999389378199312795720606683192681607170051048110374475427098573007172130587139649765437430732381627992507491617136518163151827700088028206867979852394747253821651191314371057024053595211658267922133338718557132994091305104378998166437689597011713951638555439390505970788989956678299344305078064549143266612400116337163078398435278109739734780491655191738108560376201037713695155182532852410982997490958768761307652307824371065151463134051568437810523942932898761274446703801668190202734651336348031210048935061623588931465217841627699035173722014325547373091715639507389382177108438678109452115714654314619648809229652348364602416264195116408875488229356980761186198530130324664462450023869839969015160528648334272479497540544451797425070537646939241496414159312196007927000370063537317343327295394522282296775832488083209836150976136337004166107476026123490236548974049117389872554193315662179890126140053973788633281221797556876167233584878752971642280690418783666838281729739987661845810279693215352590650601761941256742479343117922702176710448957914322687956223009387105866413055359779212311856276192746347867420278425126076663771199106053957862593568400027489207552956527844830051499371113829487799052097010019860023673435957661941716677217918752093221802799546164421186885085850260872753713219755213851490335463361629568694720973008432026826312844466091883550005179960351304204212573170409628803628683175451842428812776333508514992232701065604664735154606170932946155396376355804309632891854978580435615770491958873114797616259111944555175138941789599196484310677160857371200451627117642866142002917334391828458313384507500876159670333088840966036902512089981141786681324625847712671695156971051095535671678178485861856978264329039384495503227889516234607877696632983893630549863596324624651356811645853953803717914574501273687539953222700262840880658259637578464014135753218414031971890229371093505264409859830878445367905745248719821631393288984576565711260857718690004446297765758339183799113013118139914197841822789090937160403596286380234106344375734129596342664317862989315305296364167136677444689093030533404301089028656557671153441543015045095968096373404541706428104334134496201550648857203649317616928762991212744789135402292844519309244855525393622599111396576665671036773749781999809342086450089388294486126192799511592030173227031174519666657625077784494121542410778622734521189193759950989285140011331454981704466786103049090969193116848403492806147681722214549942529393611429662677935328668190438033804390837622432364129189336081981649099024147191989815451143637748733899173805628803650886823378920517292969001215095403770945316018791582028266551016143931118276975959865043431307261042257177591206769188032304728689107099281667121471728266107057402337966214941221911080401724208347525600846865311525420428603279860595293099148563501258534261097423788809302276314225297866712145931471710627960956346509340236876524764641159237587878497575669076476936063517277260427235235394171714471217610696740609512964652278376663375451518968095424643920090804580887498872334798460546919908659367259290922359195427556355181409765071292583686876579404561008564103827392134405273063891153600216675111190446860252606385231439976166366163193084879145029726375751856426577945727083369541844132270729485527602695604083613990068375579265194407337674151898982028032280328354388909389160848060403113146483370197137336022566891632682575551209511107146834162602000951713350980642569785226785883989148547754456395083127781592541434504749258108858922010281666538678371409402016379306263294808520131210972172168986426206433079865316934745512818443389628380695651864191585990016472247149174622599801611706958063100213640583364260430758991746904151554039524079050282026400431859163992588061888558131689046917985490823728579222346702458415176434745321037868097957328967684937238111958908870629903524591843382497520516286417819448364510754096533640266203858796833428779837795945090348190428768654402775952229585629174327444238239910764635841797091209621279195177457111969063533227575166978067090210089996524650360574251121694448634415379606128768989474798862098370295331219068271111860140469078080943938078487859370400447470394293492365448265414676482338338484712245580534705847413621030090193851909950879685866245622391385162852507597291296492846617763855489803627124769430760860981553847051093420077247106251275776465855502975173177760774741944454307536505597809386276354977174775569633622447061198095777094708634877686063124080035479450117492425600158776875582676802894043943767954530969090231485691138406663627047799329292557499012650712301915903225182432441220153880128461327229584068950986577125243554393418065402690194948381664476560359912718985372670015307446381891114370882123007953276329522886636586014138624760996650187238747391123949361203443998664254558250282557432782885466039777409318610627065542779713225086977447038729724177880259551152110003864760740187733218813170628342555637058742722285865548554237690363907073215932143319136864291571124736056502044670248960805575835701876816569374555037864644375604134734149310229574829536529672300663240820702822775826345688612462071266272368819859672430334244700570540642725389293822804262171176072320902777466938577740228577128343006090827889425907937431991887814032796331622057533703954584457226165491358023156969957914262643452606443962401479521772293620754502709319176759834618186646177687668085188066365582817561124546941019536082695860371807935828250160255509100680278567764746471187952907632121568550391791628747611007080879493589697122738253323119861260415188331775085941048091898582529601799548058358617735536040508340541508704171641896473315872071236757152256629727521801960877310151747156332127417571387397862256384325480177496197475869292010695811409267215636489927020047338979829614298109868335896536128776359624040587018471341772037209518876486923819727036194881495538921420712229774793686385272809620408971131972529775535845879554930643934833774029681367530463113189924081014861308164588595461698014532423992179637157517073851440039401269479353503254588339531476579572959178963186065724280217617954433118055733161460204100081466833340891216703708259977453131607117822066839666308169994175880441838171468265559359147531413677287495437754802804342550909407751283651020265573222966855729815635172458928879342561836590558731491339566279636575231807004572458915314022538869045423176458760105885008364707228694139328959683784747106001917930259127652131460401205219753196951462430776675338353693384518689724674565744084876654302285615391019487251571193150128465631771838577106375334069937586271893737835288272935544560873121959520788617819485368652232687780145903045516374593845572258563701217773660200296928500974198113828111003389473302643765927091718249617159469218746660206679149186853669448910096525161469254507334205311057100017557881019863020417608554859353720340477855803885749708706077204552916805730716209065121858926622608194309163482015508000688504652851281901947853882481857991687288882780058964237069735098833079494932031366122554012193665545447950800908017036083620214167613954879551751330324905460901883685068017772194993164032988485576293831875295188946155896963340486550819750309846928542073157052246682878442430892319840767123855218410456620929101936377500842291671513487102966051800726536317085911331211636348938533129424876751217290427813555630126753942248369879340696994652577028221897041911160638268118161441482109100665652854981004812467104873214690459771796108453639931287491025524382715614376053160345307183869664110113136168691905606213295324415071850860516350661100188795990475611323820994958981911219290034045009969462956172758050803324367212590941668862622416089326592068334928561936849583667737378189982058713562828620999106096804255643177951303377851744043248881512846114575654060430758783208799873580056135055205230256918866619562618446725904745750594615345114211852409964321094127779670630635361424749461433117406184050061825816082248178720076304929835549346066711878649364150269389889561784172967097220159906322244887766293574724449543255176510062024064934636405814144372667496969945714361302238292321648881714918335874589679761431753570196251267265546444971814795698475651529526193956064168960265546041889319950155990920806725685420040933837008287386204142701331442088209614138286614555369604784042129803168067035803297278961125299974151723116021450312716388169282172688802218221941207358890080275710713994238361593323120331111978732435881698688980974987218154534091751526469497063151986984607585741865409688701585162344975161271062793858020539071045699168972563499800482136640400810626313478329778277409247028587849000284319669218007471712557168329535654794711254297201779056015936837540262033947667545306115273499138178594384837321734046383356725990082545282666356017190758832274599035953926297236583237031642286688100007765788087614538121650758324752725066217583607616209148810316919434564059837669834577618635708625774976956108034956979923917872284936705519906857978695309777102488085340670615434155004528784669769787770969599868229934905989881385204222055180893522285054595569110577286493442502516838984761848794691100724673355250177135830033872369282295973217867131624210230089477586520083545196798997177508883805820605822867578585283627003544515713695790212356926367812393402474646446792617862142962459687794601211722266303389949578993906545853110452359686198163596017150177763003580616525107954473431150159772504453237723113074119842603818013377056878317343322152788989152765814038285223228238053629145722224775069410321301558557967341549491836537536510082323296252727951054969064708787116808529719799943352552718124054146761029682494101885597315187299122604856145751189373316618031646884712636550886362957334602610011829023891574079571839850042015597126324086370564395819881984505138058677563750836039849982839930460866969809358068132836179854364356383940769775862784043078635928553006904389526999460324325781687964204723375330988129068618637378747801845740189823233516255170373630443996576146588470839019164146181683702258670887465959120693898556387791075803991797709837424935120009607237865442838905243334388701418808576632661002471112127611068329104977478946095134924662181142512387091741645734097089206292175094855940501935926068694130260666447727915095059394684032450637086467238066935446013764939989899587249029800930807531563697090019941370454727517722830358077078417194048669649031342486368736855496190138057617906181149565117211314554985346666827133289764864925949040745600564567677802621805649332210463904169002504666969039401687905609229910166055624426193635425421212153813511044758320732814354292363123358447719636190695570614842987208746588593216132903197437849693367779286778655490105812039298362247994384205597720617190547413218457372382424677730192418823830523020504365310275416482704909306070197153268186885244607404530361725273675563608710499024916556975512193015291256467697678691032300609075705310700059226477102862605504003186352649686817691419728904733839478217317077414116158902334858184622434764983403600827768040007685821654488918474628071921816767823900206259514627481142368315889843278959691874357604117428938465103714011185641037224315269573277778419963834108326526058246846224700469697408060617386762941327235985894580521158955200294106130316168934881945800243508895683681776748475392034721331794777797652627355771314131453251785147768202743479131744228637952416438841534893623032333806347119805914994681620132319497144790990815003102582993110278848848986230274141686774548453656096530066644939450955763731638939639144670954692298770695188328434241606784057621229678764877638319101575955386420679196610933448854019341208237642703938362762548933080464999105786472713423866811410486585764821662461486466454361971852306235701641358567146275184549399756259735288973921041032004115497500284542764648601012316705209880190566846608792447925891771093852872729960593441256635602805013508881044611368513323650947736301070948757142227295504705432558828131436511030365033013251864102141448461514870453897387747357642348251964036419406952816274687860218843552572215625416644259808255966595468976506327764801761581811855829966913176711022850204170325722468926029006104890013801890612854271442729565134863651819230027981492272833945757267083516845156136824533161705544438653062805435853823771044309146363817518196149701999083637152554743080993924642499395615211321313806199579776705099442232505990097426020262901895385173543488400259784855654490873980370538417563620539214212627377558908037018364361503033577028306134085310725019779135112205118614585988553938218351027787216336879379073414385326623626869989303082697465352071155164283287827044140583793518866024299209585847284649989453636700084609260026624686061220494717930503738858375802943856238432389944432654092782764496241612563368160804472954242721029315084941784723536773632320856001502983876275527897279223280445790269511228085086910112194350797270842669075204763157997022438184129899403058730731995718605424261882323900778252944175218954580094729095736341319648324939622933344087125505537036057271096237241565740176591920434286429629502055657793400428908913025067107470213776181355258978175284611819887297111644504207513605595430691558981409105924504584486328187881828741576999288041620705765788685978207913743217554716660178528367867647374065722293489083912892431882806023454181443068417886874884992817529399937763468003619276481580823233012585848716131544000898046840136037983316012870466700482701664366058804337324315757476522543063148160979528288633939046939633764837921666790799141457322911096467299472281001682580263884043451614374842313445241611067903075307999348476148052935524709160792389877841238082135189339694937658406071015905364104229670096297317299095797742112922110733651920208856687185861109653908256327007260936510103364409451820286630976865201727728278622548724436456928977948230119351292932675080638009373537443181194370502611830642676393184200234337144288049255710259052198962852095067122031702901564048693395280194241965916675686541435138905261565520139176898246551907861517067547422369908164126489910509222609605485997173725152163525744102575217536523672453762310427395497086198958084928991963509487090451003285457419863244709073293427175022782977210910040902776108601546448290252778581101602894571421841150695913188485055273693830770649524373173978764092884590529963550785351847510272748684787301325034509794709875756688980612837169697963933639785811762640763661084492515963517415149075240488080705976190061782090132534338892223045430805104362806198751657182006883311968754455806751642412462010140868801039458404193220913984581714989498298517575164389394268041119410195599888252715878022285653749348148344121409318526385480355487505736178678183758121195454297192756275377824347376192387348835423059310129613139301152999179189677065460420743000774458448639544972769180130430859444904330594498832842627918712680628929023409057522518339057619550613423677816770908222208293826797392441552200672151916697231132125403218438218629814796273360702498982421574118500784530666536698466304579950112742583082687820726616939097902448411055103252841401198201845212912788392670379385740037685605258454557545808357977480223395742774869786992059819729687745156447858209231823863354885786733271828005412461664615103537293970149847361988794149930716223751363021791781334540385148702315265898908751395608096432462481462363206835111825877611222890055763844354807968014152358808455731468509288712795883326877455368344100313093516325142326578211180623831319511379913144846846405437531851831239027905139415094687084128666503919987869688929404782196445557623526861802896614547985148170084941423139493553070669222540888776671163486522264958350479425029863384128680933022559405529314452259676278669478845843384659509312266980691488731573403766746938472429823781365350842708978336826585089855799383380670234361707027086702984058380960627070317778447073043685801141964355930983388380873876389634277144390806411371582668741194566282312427874107531372207213277533028781542769056482348397315703979545750067571499436290361264120515500542092319444647020219529576854096986243480584401245931635694871945649083600216924191796325141686077939710512109471665835573062834520550610294471552630084472268344599338814602189261905720087305987367931039736956011708341167447152494719586062133310095006455735087859092026194184515721080850948810445450265704652677442475099987561965298469006692446983535568669185424157625424924054135492941706602006580879551279048421528933264574526361158295171274437671108584246999860067990329416906217514828847390298986534680890407216022766752936637318430877293412225028099437169709251839790547216376514880297149917357293432718461425834931921781409452889586771076867038277267298429591310625512864510991306282368196483660627018423201006217094852739748386223104736817815078459496083598998474192699075520538624624114821138879143015190085500660446561678289794718714208806321286944548746052643874302083706212975843246306882560298545819924932674574147763200889232106340821281240621373991661766996248682371129271073244956900725068279968889405934788892589442831767585993283119053934060837278072058530428437354346024147776700931280198850429920631807398391327934777048892881174440386883772572436398598165607812510122448686983454544083830917367048525468341698329481099775646645104187272473207943158678896041296170325712828235372202593004817983640399350798118673741762903439333356939675632601015460568199054239804796198815999763892991524858939990772562787007293590442172244447205067146395988390538051240888866040689227274829994862648067362288461350153189731638740712806903799842372959255567569128011045278411742960221312421761590888201089456939754851183134787554814750237792774178074278359017884490285107265393623877414891983544443020311565431532246456527516723255529921378508544563721054133015775263549026473321586459756041852422787098173757108681291626957322082035727349819769428074438671520211382273929930009913584196371894351671556891205423437722811231910672020366947223952349242472707710447799267572762319674229623844344229727464309677668578006065937393262725743126719583583585127339500403693854322095349124076493133756014447619923763978871503723834384962204671184900273161059797900133849285230500786909861539450214625185884550300921602815556655377696058205158574916697501071963706988539731998862383460560489240342299433661431676329306289983475196363594262730463070422652958252039327557921380578194752577200699278456806142797433492812091711220361532111519116906546593503823960787926178672556642553260871094478070758095915952019233904621141680545496076505724179294035244618813113690022668697818697069049730830834340271615544824222595643206755018361745437244176307998113548796924622337240229817005894901597734155749303234870477045643126820333667028798891171789428138896627474426405395488604838842098296792739588189672021027478820351099963087540114897487137609428124840376183478037572482365541583116955317758385834648510140060075340150212403729517279991177921755046706121352938448794578078652074354472112719554084920403675423919612282434212003707327519479851662890979944549485973341325507452714410950123476061424343539875638187513045279737312788752128055046663760575584152171033919558065865599174156200916773732585098476826063927917283420308112812701531362404236684319764199959214812458864610387476192442208281813045547858156304571973661012355376325402081008791713735612279806499583556078175262908086151866727032025571402618219156529336673787682185158292785255818618394061224529981816826281434616191218605743995519706168356926555886834268113852143026065568743014076225514624674958057765686586238696844580505905420040701496284603676268994393267707315648244034076255249831457309499923486884930335290310191382669095471657750176062858855441777301333152690381685078272252925772724112065511006587889674719110096500689185442898509588751474689062257366250149086952358230472416901389078667829986517131535672552737300970470382080279346078179162382127965413695830036946660552562272075755382470212692947172660343389899378632987486150904374593390175324395550758414092522665112300269874718549338075391633604936551825634340125594540596150044964711211487215413829724800847646962107215334938557305734234634316533105253434323801730329979837504637756681907558984526248717512193317217345404717251960424700581151111800279113924573519054496859170594573771546440295901576449246655261514413642274973402707069769352816322455684886766107751506379596910767275968815858794673218736873847813249553155158911452414872739771824579363683271778037750468039782796716438650786168852296677820423788345589078228266939458977696153597597161637181430206525152328465257259389730163901892386208515683198408172348339474538447418800140312463045045065564478217902310570303118579839913945532206954703264291068706318094292503625337453560964664006877348554333290250135697639788852592935056606415853714725654263902660785052941553540644995224140650499640389983160955826178185295822874454713923236262238306534436606500612355509730319248085020301068804727210631523163433851268419912429507844861883761799092836026717292323674977320662367588410272578835410069252817805278857752598398483563284342585844685802241247903972799474957335987459945129496130298233267921632267487298807925430121368235952163380761190683087729729932633142427850290899179136215914176041776482855134711437141287892960219262776532123188825611904793821200920314672553205733138689442059184110939857186058935866348896080541116223088582405372791311236884030291321576048450346561147781421923017831574431286471795402857946187610531823067487159785568779488580235230993212657575355617839042100535150251543822046313438862234713584888477461296980585238529219463397797217336764980547809336357961717637433746895541102301898975050228370407238586021055789098850337495648277432401804349071592493615575923824093005848674264101531567073850284938732459448340555855968224516737958393134080296136812236920998379684139704171833703394338203647837929684715209562421163969786825289470875169757423550791978476174499424437935435113485094460504261062893955842023766817625086691894644327836585451296485954414753322042058692222211249490496107956929322429350024740932433257034614548077869564399434385933826056846790114390398275752307582887151252325359043204817195641531997118862139840432618370544007255317319189009941426499046852386246125034403055770443087380232043160357374355997005405992665916215601770461323488680483358517304987073833763399666748166778485904094744605468070331606218685975422113102818760046558869329526366596060030566488169593953864837576277737520006497915514854650371569916868774243397961154952699513017015717101423343362461187195397846994986423563970114800459713117768887905080055591085867423610396364810181412460752246464831227828687552544576971835697746206905085864068250619499060881732552498663350658840389624481941276896114995968272206650607263855672507238436841310161570893859166894511790131699824287285274284459293720466892042085957896464289578277289673538485430895699534128339889066405219256767823635882076964572251644743581478911656672749563813806860161475740004685227953656209084258173056310876683953677543061575056711818147399427006208865358814856142651337720289853187463483117377019964022283804377465263974101105387592930454434828190062338880227230526377071342712438578062562675502083766655575950578204719691532981284793307716464941881772720604491787032903421340426822219210869612816950123303078254041405701587467049793687618305031778417072131761069779348573017752799115598217585980578638641906935707180163932313473819210443910423450763643643052427396666786227040102543689905240918830421151217225480772605018011202768079748537887625053949088955417707433778442491054175939372664135583155700812322585242814405113472493692554097467431828830723766368485389046001424836083310307967929992779862560646535388338425484971355932050390528199731816135088570956359831905665208827408350588223797269091562522990584711614472128308859071038580796579656199026879741289147644643498292637749487096001151391335829402796676637100125019091101148298469584432672628708203946599290368574536796015492174296020535391072606906514483931622462306989644601710395502097260489572415761265204529316771193956595476160348643046833252262169715404444775050297686613783277086596071683670000817225116720173979156285074975552304239653600516352648716161554481665230241873820621193152741680890265533956982921938265941124920541706403957338845322279982556862197397631671517384063764212490856217631590870285745202863136049040152409799926284369186571028164511458286700489884671846187538240489459428709807808834569278803112658492492965981508571643172903406219398127788945138247120597526239711004638250246802277544961964785894600134972553818846683327529562491607556080128179054527358884064521448730908340738583530025760215248912113971501791337504233409626494389290338407856679253425387807746303883088407075071934618419743171069889444803326565196320680731273608068677224750943351589911235866015753796605040074554840044193281122319714152127299054037580052952497872504344961398183112676634302073111482860701335319522758194014115458147039357997733005241497700323842596801998154708900983120422673966373600411652857815593513567005624355427613292161531092341325443903258384312235399370112801968258681033519785015157672860810758351673737808901398171339307721371753599946468013841853039350261500769938750919460851524107731666742815038752569485398145524596350727695951494396710254594743433669155762182455365160941650944268170434880028131942994616670889034937925631406101780473190109767784912472122685381350341731792995465290666751441709213552037668611595854394544899004285099868999227350346062661737678066513868540194024905076426473362487926382292835797840488827293756259444875232117907014877874258381311845913634687749416665611259807309688428011189345190869912738052291453602796343945795507164817099120788959130629751868897662690466840019250116378646143954411771272873329203708582818820929718505209047413802422275119097865309621822352072331441491884687322380841805521757564685711398773205469476062478965811484680739197351897198352361828857655600029994075717117083504486260503791764749010405033106988046726677292348086933468514770729172395243128884718187669946225357021627762866239983447557453152706951693090496667410361234401139434608557237463656626561715981610052840596704693615131791719720715062968753212218799168858596601385692299265547502212161119532316498368491077918362045310925854472051694591466616895374661950800812052654976900226840516706103096827787522033897109520297146704933667267821451998222573115302185615980117018377893871913478750599589757494870474464487104029869487810845177174413858074925914200207788611189605461524690812466570189348825071309296334785347798086142666145449055748228496255783622308026108073242706776760766293145058837969055798570576750431295237792920469013995861122792941875269196260628850943735378027168281774595995168131906786478107937789699225231816267912181227394312622056813209071680707800177081794396791332111378615227441740554067156906348000686375209543935333986546218242925610610080893847000539803032951269710491049225211579236416750359748840905547492680185847930547277333862756913771864799319357011525626679774738688889874660459630021048406620337364047239413107310373976751620898327402017624056746699380491064857676469031811631188625028817403727963771021753915885477375613215024868714940147917363717585234712984670005852177725587197519368025387405311483597214732728892765972466411056093574217968492427255054487903497410584665933614104991054178899735831222222887398164828167241787455841813019422418710270043381229750615067872253188972548165041478120093132486580289070899533242279333016784026711456728803257018956269849742868548314527380899156084734806044294734768693050501003744983420941606748315961487545916009222333277186798825075231109844034303624593200422223153770515985037347275245912995749000495485746515333079077727268224338268321366968273679182065334067857332893236861603289675025555210073939895938011499079481180563647470115792667847471344179311570767407192157049621607618497397044510212391928253682088132318450096050681203387686588847450973470227091909284504962195770217549209835021832423423514629495395228964774494851026415996007943630832141625938981964227095151935334009819721868524979166071131356908862947833927376712672135908340407893690529742024313272114515569232972451248008079475730353109913165465203855341599521158615048173732943272489336949420273322988003234800175090308152885522314788547516974443376248051316494804773839904950734172481812568089022389705013630195212399340213121064065880857863619406018454253656182069326607051769435503598680831817210795718345396644970157988326940019659793376540920027199246736704725630168444553957066884638849826648245716819486725887340027359005747779955888545810689121552903504267721336466706852538936052459697110232815528248833323927612850424277929720623434598151095486805745526175718131203068272364865602955785588321004779274120230010399632259321086360699117754432546104864783117217365513072172509428892270067827789620238279661056154043900478400742303617436298823610019019907468378136399388864292476404467386661190977254694958427808062463680973417464064305897478911753629973391201380151944644026233629620634355857430487295756445847336837129532519645516419662811008613005407730821022273269631549324150565880264788017647650378794254207839013680418697150668314759259630632555798714351519623000897053899372162375505288134678338760302398034836321061321296244077979042826964609574100521046283622129183425558566367352395035699050595342737692746866778090625941956221266030790186248878683031443218242493374528650353329808027427171428747831771378470024953729361463708397756716951469264346094480906190325836072565805887887776338013659784221144216926843132310324917475186318355489332778014477967193072900057406531896167681234333193841848286237495797315903943366204117350926886781207235548638039820523454522548066548383758859450164345582541049007748505593797245333828406462360150120581055661834379579408347254494773680314884590951554951381226667391030999709528101290790621889841498102645735807970458059402503261650973353369028373213123285005351514502159814847954463115059844690269263183746602350829249668407465278307427908868467311084268467550102732380189248063245645464938468809430181247310408961007265017488529893903700128178894921420060862796549561749867210782755390521372504340086631300021948610159323003232075798482780727440822034159708962168578257386634582039826769380119002286105076520387497310873857214942044100592753483754341248486584007479366821605508628876951795647699639850821839584541515279346455023231035244621631276205578578295825282386957912809827494517495758632091929501533765726360231167778699003558931865679993532997415699670957002840463492266507645277438457533881265096657658907859501913894089083427880989220176158884860463379019563120513865928303678351119440094200499167371653497559095326172474982088790071883233048127961466559153087026677652253555717467556793808385296928541509258171712812162954404922388186393121005039944589092018598110353317340595327379425870448176908351553601176488463559327283177522196987872027968475217579751744214818986691309146712070455735824156360956755115511141921982445546298350703640494250182967507936515920464995402300725248148253097976702450102221182780040110451253490972619510374305506324286031347810539646169474732043000337049610066203842912562717545154753941369898504566570302152469093442317559178626827652277023653504712809754632091637847047636091017762715622585211778957609179578083214792033208938351274599877994335864077509793696799081474933627348634439159153060411914059478573144045218533847453105094820101279812948354709197081066997862815072015062781966625719617011693138010587122112386311493107135834167254553049252005519441003946959774778560431120459914188062623617706590217996396250090048885360525400506585536665007150415859177252775189883375746041987301288190373191714231253279796696357255474353385090728248543586034624974547574234285849722428961275911063244556730183803659408692002144796744506426231476134690136152713287620374428073077681620178037494086442681317323491290786833488048937406910013644151975559093887525788983944634500522437153797123166291733876022275160456090403032137007397660506786627312380725837079319395409923071855988990420573133386074573719894075725866260366163710611495302492569904570573463777480431472073213743809875392773138426145615179127308312392286050733970517751904751192896510356540761977754423636757235102336604065895011180238146545885872728087167804973132011516129421636094458862813642975900002113773129960666311637163179940418567030273702500513591323472884722770855100288876745918650649283370738497974928268086989359324143492462357232301300309204876511505246442377891719817129739227815904141778419201907815032810467403046911799844995077397200650511022974904117290100721331552844513367076177224671624316246817783298856403799511825716611829198471732108792702649067803880244106676902002563640291207642366209473273200775692038462996890825283600290175775364028366588894629490397368844280860687387879359103091177142752943214104791227715432199191356997785818473124949551182298634470207448711588437719674626221178995239675730099153437109919404254452344369044419926231013736484785328403753908356239373995608191440698492286032229820208841555266537933577404078662374358077477372783531856722909033000572285313961162910142641377477705626253111633822983346999461997909132076500500312442193662504448726365979790378215154417386351047431021962161486689555200597544950160967259708845359849625778627971923505454684794414127164271897171090831595359430390920965054961137828238121990466341610813265215653122678227075193836664063749846357785198619059623633488238849749974053916291751304063409944324827957976722673421563395699009964431751131316819234737281451247881871256672706379506390827765312563557220145402592186408583732204245757104586149504463766369018699986070040651548701658505646096138722899327796632810346131341496646937923429827252126196343647423540060110657448329737782452983455711694251794304545904224421760116190575455145673071998439056663564314067100003781637818117837622069464137884295888951681830787222654748505608917632174014463016364380549181830844845705004154418910551997772555304180248636953553078030465537754665702535463884806738293384577697641594391608951758976889701111020185542794208372768900189137584521576264760279581636707330195229609628626458965767564909486733297159771147728279446763246204133338437992144016988671556940553108231138031964747276796130013387624716151791942860269997516945550598082885865460624449603541126109993784796108177240791619453412090023297283889807534268661870744284558731924270219104515664177182714404765169916457486962968626058204391290395722165084342124473772477150973310696081205816935107327439611357511771062171778362076893796837114185907399616473422948261841247007123346291898325911823768881741710708332179965864394744640433254523071755956022147948851778574265335340783273237978741666452430050772507650364573497804600547456978455463082299706937697872093499416869530174925666657699143272382930675356859779697836234822842021555866913233022066108488881995873776459433237052902561184863811275209311237514402294560245876555349832241568084676596746406266101523769732226224669638506454859382213146474810983549993109529617134579569526968645508981947672597744495344495605275796708857752521197245790485851957298211556832321194505292895566998134734095553547277043617772919341457913027350104138628927069134095165086420012213580442261249976828789407727792155040829335080790197404360386903867288164403044774411066412424630279079346161139097185730056593363986039612889427136522935892033213697951437689565580115024329246481857365246542798523223373537134195452779767572748055013059752720570397187888142395759191570032677470184647522411561428981358095321556573787258012857258447318582656464602334820945639615024724436964067382745887334102590251046734479537224334450085438022540253472470674588783077158047575892297849287422834765691501279244048549883270493257219268000949123433222973459022218701158955617356588538000766211468105628372795658203663217933737449770000857608090747535038964704686551882238211972818693406089224527799033765379407470224090395628976913389803371172272980726572247367864836374283967664855889367751454604567616320607393022296463182245957197742300980785978165808472747560719794163578315924458776681090067767163270100116550082813186189951657169548690191619736876613705449914431959085791168923320317633466863586330516829318173539587348700211043302333130363404166106794815630005348472065220193455683613453927776613833438038887063075729029980765423562031849707923259602789008055668989625636942796488576840093598096907579457689948332801536452863953510189672491742644195841720303221173915644902643081465774143964326214438856409108080526896267590368816998801904475479138934283724138039606301888498517869687204194979056678626084449548310109968548711714162970334466514486555174321470032284437595163283103789286033581286645351577489520701257727107865009156161082576560318075039316378866733241136840860380946128405423043053596759005242932823143160974856379949436150667169975312047629085467713654742159257809318312599987031425683475454817447601955250299664464456861742790753615859373418893105417167773885739827979570069774963503015509392867655761155822899896938871412195442632876684808919740980749849830444210289342649115551617423853977219032215267705301884345062555075477586138478625860671394801488035631121723433056814368537034302965746075855068388519108731593650093772309194690353891239394586273581326189798562669695176524774078457283846129084006757320696019335021589817590318645837018299723921410292186495934099131104670644286060762531749397127524123241235316673861458653855014524155840246364542935126497895763321264445474895139257590712924094196794910087235844304882326353497338111972178768345994545620405410400020339551530755334793400566906743371385958709834290041614133262838796392801709748204293334366589719868523691114481124644293555733895457316267512499687975523056201713310754862781244352524116570489314275832255612482995645644869902224109682711699919159749518699230709428125828770128460959232213433515770467109318517935810636694761663283918091684282936272019741179692511891530383512464333585010382641654178777136329449191410237119423126456110567831008070953912196897978065638661453582863038715562108623078202023227821667751919539332347174494115232592524063084263496267242544589448653565695207621212936342746024139897046437470948180694589508811213678848111796037288282207212527476594366160959448349285198878724804126766791686230593437170759729471029620205589768426833832223355652345064431716663835450298627842759019927614926439043871655723214888566170631509114733623079100067383441696197753718171090148544419598634495842033608532876309364707179663796328632812284077599776983859663677763866314138149980437349746504773215096319407518286395861732894020366698431915166957120450013110352115837416664798167998848474370911209963392773723652068020174294798340108691174944517107230205749822926957575131738845976399196954656652162210796028992027176426131116779574581852977309940228466647906596806437575253176760378707233881792998014229625412874777141005275190125412520033681089126050034516567759213006564442551654328507634936702289176468187795304316526323609709865429297491587681127482497891991550280292260458580414348596699758406832572656053686874092787476718483823929708634413813953696237978278307671595142469217083730399324386845083072439258270780562988546329141367480844069767846909353152766379535762766420453712342532479366415634696189607317553313144148659510702978365659964109728940201871921665904844656304532513208810081105751168086650960632919305395620190369710056236960239989252002126513723873279247369195780763350566411344744679696343258672457604013807642588434561570203740884020506211178931441652324614454666638464236687080340767043694674626998007364167285156399061072793404879045140264116173852820120818609118849697990285571344845434227528209615752222082522040323598303475709984224125923384898088072279538862060403613774758457673459574030948659876330621141681339975292123721675553230177843284037589023877002897130510830966020687339698627949397317610244835459945449453731401789521903134147317074108389111807448628766477531192289198631880268681850985734627682781544922687169239561722436862989076061776003650743498557280542898669875115297941667183190085316875557461606333947322589786872147828888712232352548428076930353980451752385535341422484825887062608779199408039047377758613404761285886401075486155357908380712268070030254626993867230060659907022156855428861793337841302467206612789012392029324800291630841895189825473829666544257403835246825291333504475077062073495327540030001218698646518836897870208696262202651508397192080263887457857925855049881085727064090123504870769166741780236272306628251919807187677692299295803411202527628827816170771097497036559168743239965043294311095227558985945370959382138164721828821696074964512604980593682588197749675391379783737772954685884684885400838924952003226145987568958881060756547725453610611951890683955774577107265736197260146373962273568928567287919850385606641716135060359907870480439188330009021600037768732533129558202036567995133850348597788688638192488029970127047489578337231490593485651555817128755275123281235894205071068831390732854230155406567428921382380915073721956626460132190415211746007258832133488544698171892550952071380004924511778886863605696581772280239710818020911657682983489196943003721104601245853564641840367376851624457911135865872851090423997987115719675243893362927195183506825814635956433929649883026654516380679513427760442991160365223096502934597839561280239686908824335236452234378830893995539784644049067010077473747017407915279203320466526944552574692495953957131849771822112691951777376042570559083326992649762471549767539890069882159334197168433405861358796393052064693896860093867841345097194299063623822696015752730211203190981026184013068446868780671960641004351822173987385332597531178318465815303186369500005066428824352787799957659979743135156519491490801969234378142575147779858126781631463523607031943697129987893666132060447715893515667786642119504931748328398094725140072391581457469150413156026221738537505107713250929596780820174235955605093670988235988458899109534138459194446714935670398545332907081603680725872773398936226541639024939416715344917380808418468040082649870589255042365024839080710778055043612517273861958586327158096091336987286518358170723731161959014801421129096500867229058756984508663079522831739461637546134368277603258995419202937432042980922066037356593561426695360685168645895081123196309118695584953850387101959916430459176136950253517179804400342423019546968277040367208699841155640275496047418122630464676251363287609138780527336148546772181575510901042371090530846186976608980924746993071722356432786490174752384829536047992672378262196818363101210359464495632513216462373395326807448589701251567415884375729867695063230197479390977319452492585983813076085197877787474164708187947857290709906358545451785909358914374603346439179634786554303283427363240482255135024856733983971050308820591664248153172812695384318843160216622007577833860313767838467647609115371371349655056524816544944170909274401593934116206006485230844816651465554892811314841950922265547734675385252364060842090079614655876093996193537080333360018440282056200131412478843278280397155209844695084039469328892013418235357328739328092498025027954366559584130874049073122323318974384416707569656187312410652931034809006751525585814575484634759033941935884198792889501402507047758983243403296511831207340775485245179860275476435184373510291615951499688761063004771196774596162433088614620832368850450572049193061414714441975184176759972866241029081584077144281453428544213375393416576929261885632167208579872535269568014648243650369763292409481317868345832849778101205927176728829680280662071583623757831035278258143393761063839280984809178556696558958941974905315120916745737386063361613981923844789903355196249674688500867243658425338123109193540643568999865073925801812566585568739879845292931640555378680938939366269551386829430037241576513987693262423967159527497798349300850435401744844932457307808223792267152212244359804515205872926895917715054178470027096230036524424828487802312174263670654638215400256512152179914156412658759494696438385404547634296707942507773190759625435291907514034674756834880216345732466308929714317876693984214446539491806684844503252291192729703861857697394269134682193458477666647582867818703000496916943563688241587930600905650781557828916251070455571469341047748256169496092441554656359251891034892999308910570676254478763062703553709703688084834934666848241593984737111891317112787311559010889815849717979438550517305544697648297047899884903560156032380467470970220181480020115509412782288142308831008539762478147059077523658125911239080971227504421162376136962335572665705501613723059362712955166411810179309068815595546459889423931935037712053424394072257891164689524939761118960804504932402152362688937931194633849619731622680938256932409794158292390383509466661736376466706362137592707024453552422661995133024690077667600963553281287961320863786807151595342044406259159920204517535550956897865883674080622099494902830063449666589038527833638041523647735841320985443462475284072185593492936104162319808526139222525213235028260468707783027304715007758552873110844909978950437384299577804969564484563386102175611450574830074873396172890189370232314565132115595425866471790276193553899719081842521991037062733341512086071613195367913773907290285965488333879530419167488761723626628024109357182617688521099868765484253602604237931222703005398203582773697503216775373105201061476921837768282255375210489012814401376105741576423970708497298323527906172698312676675722425352733383943325392462889479098971863725072680510830395792392079207670926744113268129478622621534705954998418112800307831636679149864804552034058546943470449910254141496086149482548416202891385634415740821965388000235470375522025147327964169759671464894620100596115331724866076090355902197773373506347580421169030335898804970357837359677447157257903721096878769213821018497432109941514762471811794092666584745845915904057690669339015092766132098459657678174788512495809377719910007465834148190191064792700850478864902325791715204035397019670637039105128485771138123284580417503498029705106362556894846450420416753382209395410792898532221256900630162566767234359111640656102265207571763130622633706577586340049636054617926912836820845928106719137484127328509950841375855753350163708733404855777139714098708153837702570690531272031648600986962836952858492516989977588769379205063489813550647711313265828774282485062886141673555264491506006282004711778513310946604377253302421045464628381325970413142973192056173767550727230991396777712333046070925652895893705801415094156096779211568013005924590708476019494640829278359454914376359035704502355468448231482105090605551776180267588708261199629693626435507833807043845361372246795641611828556806274200911297963351452898194534018604143488020371593132403902770422974871194825818719046538167710963539761688123872640119585807465789168196886342480776267455970227958522336906198415194863914913028616623970832974448996524494642718784072612556861975108127662042618500302096226510607538510159827651778502121988266786114752725769309138974100245098126652652597469923282803863435489544632401650811633957453388673115556667381043881778624292464145121845005572716711114043881605025616173194035116323455583856321997013885731843201157310275465670568676941484540371686238761239865561556873114372590860141547037541094494265052377265184582980058928164570491223059800121599986711317949844254732435185339222686146964943640530541089594579683944475037761801749997311256188550389606261160134599088306137112838272085134981416262380960869570472875783215384132007790074854877446886263863932628997586021243058573083467478843132798854877261105045124070582218956511171923228050154217245818384212359344662012417216270673104373406927220654841634367620867373175224446270686042112523853021640220232389350120921503116807149492302374647476055609516213826084283749997989890677954763382882216042099781377686285854482111887812635781259859875486224049364803684779839645852478576546488619637094410464607111808492389788440981604501846206659689273366218146938743038271286625471869155908557480682465970624969145348028639602215367126072370184218949897990385889782926542875710011741975591615583754328994789338081045824066585020576540276697043491880128115177557623899171602340882618775510204847948202689510104220265077578286655294226684009600014803584758979896499952832452693767780315103004338011345084411688302631343916885310383366155895606682238706145843101415134913085509701236824928475288635828753310380384346553011669769326919185208384039970108988128961514326053655089904065212087973812685216376347190822758001689795947716285530625069660128587309637796928866546277133750390023651468629408612121016441425290139566817486922298074217682638901646031862025807151388593982059845734567117649856267677498842017718750335064392625466193120380313663724516748217364151174817943900710957744235882398604875093229637666987987666596939711560873664137317089900027149788037447309234343647105812076575728228735286258989998672819069954794657988159923340074601181371793011342350916983656679286954217717720957408098524602637949900448575663633516428079214595094931574210551800532776109071182369672127323323080804022488157168381490528985366189832501525283715572494368608477235902845827926780573031339590973051456597234598972817574065398988506489333043938085283737478514836206967544232002606319250030614932394494780861389489379707602171264588968167598735863795909888733199061671577439926367639960962108941547656406521960898951843582881958150598201507103417247740676838132383911696515913958313785705609369781711091167306752247494429106734434030963886359039639857358555256794377130415113692612548054502793669820160915638837201451765918555887488287449371899854968048644721248203011394526891683984498355640888514780730887634837656177535939240192790466316721783168861563565171659624843407584659184230565057515917631516314124344199392127221193690478408019270040397545357882112297283013025650797471768163769487729303518107322862552679269122375392753100311463000839058830227023423431659559971217435668878597597493881557055328927857243034753980928796295073614029529634836583150144570075746638624615726193294872118872631445897453831366679980921769872566524629185093845270081733117696111647630595141393110375464415907110050304001357018853660304048548510837182763090171784600964478638391373344017939110476549891558911745686433830286223143867617807440176211776674583812583815231057831234691452510992065185407553384605494254053200096310245606336388055860637935423609278474092106227131641196815866535580460044218096590184370789266284734667250082151530355670373848240941994810366366921671037101308495878582564965558427432000867057858901905673520125234188220124418268048172105879899225791120438465978968714091609322091677443737296139180253911484088965549273546894382713638308120065717821782867908821672856344770450945985086914218013605960306414479255893490173315210332949326977703488241643905312047138733090925639313404684526100339198066297750759001822693062377329113721383596716137119066136769537812770927912679362026598822556033491976659876101372546467564283336273998770042277805161024579073615107083621374082895132835941095275656259054399349818166654673587571443084057413955685420544864187468821248507516191488132236820745518631775365248483669181255241783632274505749579952801849922916510798224258313122476310049884769326039788129942903345926146889154839021118459269275976945099063308070221196497532119239176732649261412931567507519499300974695159252512259411924391537436246330459810279293805234529218073498599274443692479444827456737129834733607760085319422868582816277429502698554182743157447152184319983336420242152976983800350798888353790478024292630619245637214460350927605751454913964043517885893501812488608454321778209039600703063104061613391270591903741471537431045948847627731260339068468766701269511849324633467936211769012957797687162590907740076800927824635026099294866917174670211334650815234307998282727143470366468130218495353360982362032121278989010723376032709644235744528318975114117340880145508282782898039373551396438157965841507935020806150051501297029384565789660221396327112505096262654380260987213625076140831684960069257724591227962745128809375679923217773386204423563795194658072680474010624795945149650892416580130730586560294965507009122649159812953941869858511031956943041313380242978595558133028875001232433214114296463933354878715065377150416959666567417635064911499002849005679004932174108786146535737678582060349551934226213328433744163127665909555369882349132366085655896235690206625738907412154680255080294787530146583983552634317174485398945386626261700703641703410958218324522436502009580026818125688663016801541243768011385710754436496978662997707245876626661580322366558336919538821675615877927065588156897763511993480475872246046002109451624770175576420217000389266136739399408645796327879646627713145182250987956291402251898085214585287865605804810551263501664176497767156344742998644181127114255550977033422069709587865682369735276356093598949499532319115102620809005727430168249081213728305846695286605636506265160780643046777132647180638442427169919890011416153977808038032981652143959810425964195886783840851793935554068631757434759395026539557664584885516020782332853792128854012692853965020010841521660472550957133295886469309489333106556765754563232848669982647762352479627320633197946806831727201309205159826046509724253684640731239356167290269409622354950955509869436150306365929453603009911735017118981539361455077780015574371589438720766287555224210053277263721779279345700324941393675036832568206453470322809668075619016494864915657969879169896942219986876514580189077389552180987622760965317676705337715696078673426126399873647207630195911233575809458303161874845464604599340857068390143702168404700506678028863795395998922325556663970703004330186639258939122402496782745687771736853743443122198427585311813990895854337277549707333958912755742135902448435297710538552373686651674382956467074764441154940723520901696975355592771893033313727952760883258253394345728294389502412740525590296970418433963463069835583952069771580881705246543503946238650478693430767493688183237853066432534790011649929637898719002840651513928698165125883142867706025124417741697890828193960750071430331560393401710951500348686916586857022721707700367105849506208602378522634219016833099358627667895494727111551403785615027781629912678627239024919903945415328911832566102373855161476531521177582768396463395511482409319104679660264043921879515522104293449983918169568401113651943557129581544093247037412844854998838500251837985926523608511309756607186248559733804353058723092468095741724138923975492341776203577074724720712177306196092499902860899314666803289578594501929015148771026378849231414949130649200859787377181375364710339930613309351179826181639565781874187679562234229947409225166239080747491804152750425987432908169854179770032361367511301198366339305811451129955952443416405471428741733774980237394629903213246085325787728755149414194505353731582013865158592849658571573590908024249899057948595832163254018133905703209820803520309052458883174889832732609398111618036757413200797439246396415959091976694353397493745397232191343243656687175788845113245866099985880990062808914099784973475920275801940159270557446159962141187254171425172448648369546022848563177297255225280552473058134272710546288659173930878459373170033231639633528460261700766440310509523693717813120638548346576286029227869209091676814343198344543323636940315668081314621673382187200173304799058355329432225566959937589529256584737767106907363937073413489743356823839754368454027980897413071324833468214243465011597757727044377357605443625279216715314457522553266714236187144456692744950788618879663948528749348679155056602019640233490114462936813274154358881750746473318629926506635049022420238934146949921684810435000610879654572975917454754768013789279326695213583798044413731692465653028310976950194277110892939135133366076716819602771247039678411200363189568212273325953790756484186204971486926855596482756577256933246859235701625730593460579195110637289932063411085918467293652496208301259239045497386896100117542502617309535605385414112430877810466502891918706243450633802875263992504654744482828821973854317310171153168281366859305261969286825997555351672740631092360220079067124389181644910861659476066362514192307766212736609464438472145593148327970044451250085032515668560992607321962856718454553414513385202450012309703846458626135215694141803963661839785529229705951840844819861069373103237585508408954664771948068101242037802154615314261854624121245656742216197267931568579077997049970780026241277932126932276764245828966969015179623567014915197157408998591978686036783107195091620371141543015318474025594054050087249670158927396030636226857056718296157713716548309955151571504366481085049717931356375182018007386530362055831488941104133198718194656134596543757714722821628671061397192170024468733693859189483134467585331770443032033151872820310714519288967803746611390306133116510753851134047117277530147781805635057350510873074188480609722160235245564943867286926134343579469571658840493112926760650145653354259257747892898937347162685348663583580381538701522447694548378069284726970041167515070861493999228738367234281968126728610072180157363247680560161740626309461621660112895983266080609490503968897645428494430879511126685302737548999020304738762256021446487320327870150706836097801111947837522151301949370628614249741615504308723000284101740917727187412839025605030531835060495064616020449541181797256314075715040776409073742392006987787268749369311264166164092945305731971805579265140487269706851840558330219945474918885680870508216515293781222431578335848110363171152305937154253269949811970084089295860599684406660370884077981660280355775897248138760376460371425032383145982781300274823994035211522656660418225627117727948704388347397495356458833521778518941412461450568993799261263668838540412457047698849301023733425142758157150009416211539694214589142056499254886924713946267914297480558039882251028590470763448947968477649498576822593271008785631748944749534899924269777768285298607053046072573480246983108681256775587678784183418594572500733687858168714899735503590815596371399568809117417781401726986150427573423781094917108514163655794912762940577889524435612576094107511971904494225543285518588470397869194850304383048347081043730738721437531373062084563472267765065303005279472989440535743098730677574727608327920563655543761156547973236200679619309498960799393129713999092221392076085247841243014298271775755166155207329145390438222021441552563003174986148998571206121450932839251983928881224207791505060051707335880556584026096214209011943890924009571965212425397791411822273565059834513695552247429960053773793126903734298832935207965817898117639716835519420086794075336183637932937196635400468204716132572016638812605745895440187212114289908754232273189343827279430633364628653870821098063448098794260215552055898927272380997581828767687571943878467227453416539996220652289530458501282993872905832239519197295835230749311129573650591820358322174279042120770903536867267064650995950339863500192098211070896732175436647766947007307125758832610218495610056277015689873750092053106423417768743614714804664191561419652874094449868419533451211923542530061987964035596581662913499917599131131912902916169054732921889930375356134280595419945427383796302345852231661166636444713920242499997608305207585877676937993849879328494618462553601851637578432111403469765528144303828010633025180154421380792374515802748085574946579924262172351176736090488118983423135457039997633006572326564133114307251103517667298324981080085889812965237918551926775079531232680424284329206015949261517744725042756352727941422507403556952008429586500384496091102491462198227488690508204258520025165439786389903996995521174522985671750830350527248661693199206277951992348968342187846643947323193109950905576342537274115401477764024400216145804919904768457108839631929999256622758907039399423330913670318852438690997523472085206115064606847653223065753611160730659680499840312651494795221736019450018039016497664321738946912407911316059599518533389359219744656932398602996161045228516527196353812629279131659133312447831661536715042240150813264821109320317881354197415248767275620129982747456004184841846092617526026119650618693881380449196660200854729025562308861405965750987309992310347477961341713485598908219656684580054637744485033815849838031567740757470440723862883673452509845065307843174873059951676576143077103586924557042238095442127044919638796363231604175765182443980348358542439142529018212669902957068450190134103006032768852452325277454965314970813244915356198726699518989432236625214173010193508912234360801666325940451909216065787245082629499158810475821415683616394398154933025717569828310907064920218246848524691970812607189568634056574899674151675231202587579837500356724974306750355396844036445529086630584016481432298389185477057259946527972985605982731514064109836661040520007872692067976559282536534435049506076717502069926411047312987177256142671290398984242911579091546715011624311058171740999980916004684730375951155264611580363075941576410343156402969935266993934392411799026394113620039019978188664761262335489714648149642173504867494295663858202920811718370390688651392524397969534450442929356019190196231472324431186909446870096782153128090148064022686474769657686085173456021150061280322138285602208341746455348026954446418396687750254131985147526680294061434646560523097845025430666977896105628590229942572787400110083430626992362677247204767473085321834614398883851805552438479253414483290736897373663845889424083849097935984060340168094431156529111653207115982788280039148397714652547434250262279265456171839737318398860891169933214685967973927120650143319544634725853621920018004827028297060180640251729465167055766413249977660156716985589250954443301478190567322971491494530183351538503618018790585021908880760897383707178145182295973122941508463051207074280460235770259321317870200436516934535644318787630023992962565336073012620209492575608257820456104388914329126646883318574204185238326709359128226293392021618085109651177937177744079067946831472772117812739506126544085880930277538789876426230533808834752380166876450897643227475140750831634644031923586727740794532448584585897820617037961605151394831231288504797446616325995945809028858847159863763335137115062958060722441551724183704973878561666157793712266268663444590744142040918033687366160055838106282118150985618139873696548754551260862114960405375166857575853725268505065018254794450482943754004778469667084958583423900202250144598995854286905986778356061702779542102739991923278348926397231082852705132038647185351451177599970138220608750663691194511569629814832950031925462196955953147484008946529741642963420584185275275174494417954271337022440154256198543807807648854745744452322847652691113769583732007564179395238311743235010064546751994518847075234285405152418056357528247423811408408647695853391208726182483829867898433823555225099254235623969658971305023613614926270198806591742218298056091287187586690925497227990250616927163312395084652046957934282874530145159073764696694371238992420809969472202182976942092539447066217174376127466509144435752146696131200720143514982080698214830685162606832593513558745093754197901791627655607008401644706010668555938678834844950700358427566074369521435457701096240895185400730289674310326194614939257466707132703993807976659830364708922540453371932344738998487275953010044973578452488782753154647139628205758852884438632899870418410076157680858068690120178742755324433428133047186120976077679579584245878127347091226154372544131684572055390758949064837150614903861834365651236834143930814575991043118904878992039222652332694512780938684059560787406956407490519065891837344080286334709159275627434019991270552754899870410228157704770361187405261725776239162714219647331890967162380229720310119869911172869608457224703681154772525949396673127766437914835089835562285434279578774784179550388927371474981149619079393338992687632672738090457192061202582242107780675547552887200004043045738600175817338848619015992411045732494316106973014343131959215280235639626251668825970367806029122476490944417687517392805458934373447421061569201644886764213922878354825421985280693018397964561259669031795468751130116423167042485552565541287811629226184083856247677481775415779337022340033356091365192045162762108202874951050386287267705693552812550114641408076940230612544374564184291906574332848820100941642244802276114231786031832902659042442480412556257983627937844399075340579925437575034416923386038307746777833249395847385641862165229113302222041806235814529414372179106121605129831390168497954661905512624348517308100971517082666311473113998227096884678660483267052421528253909093634370883839378904115820340395735122651242870375642878856801031683602664404557372732807102395351806612202176760659091799134409516258969292456328586967886908563993394338791529973017744128683972636924148218105547666680402802278023331901044297946596905670560527355658136415565656527088112070993361969676691292913135926397502229329574793372672947574289940743579068960106441911957497251716284597823936649301883615636186318221896397227311368036919070669598347179834018751527721159129845270483318840865542778677933176261331160263115599726146134226049638987919819538070056908177376463579972041538250418989330340566203943088044949415512268478810056317392557764207652529478537686199633316106523708322472591047612117322081319363422806976565379892104301254527910145304786954477973249872752565685283177543001986631350254586725214092169703612252973797725589420741011512042982026573849318755791409816531343969020648916053630136109173918759857499420748348422131527620490122729011951700414475751473898924365907868124806661648705315631704478101252451319784250548327799936197982275029480005375456355549451551319671363119884586684194388518276737446271597757858649488183937409760767703344978794947354053033425681122811584345207518016152190165432779236443755191236963787231142290083546447328439808078998220801795435500721308579775868597055792113822982261461345229412405658414716468805257924181512895228995856065952336182880529256642582812736876203942774126572124373616451974404651484323990977659230231731581419126141784999379828635390574319796995886871944005387974234042585762012473611936002356066961648057596807376411906807431985166361632001360611201434649551472554068209680563753987349537604101220366552334997446708909001958710624123612472438850117383365283993457677586308845284772129895204356038935683533436102272034287825287824167926481942137292793774970524229034549227516339541159919305618642191166177380907303349781778609556400192790969662319947474792564974907244161720789021177819636776363747423206065240387204840699625223493342368292198540491560349290575546795979416558277327495565303097186026759004265239666182321554602992719015438952351519120640676956972852116616844734167076146718685570682278991620571187742433138014767501168197664909995716529908553786896920082690433889591351584029371326833675558503114313519150083141198100355796518662024408209221750041474260295356433196643669663561044654824004041523621890338681624605843144797416033086490162736823605496384935475663107257991920391132219245485644671393677697011371920450543817305937798246484339837140330187569639334080106466080236842886354097682126564043463933916361724821230987403351687532199899912278529999400294177224504177265913027239162008773170160282964761813824847470560487076504170305956431653072382807176351194482584644001215204021348836344074861492020680149743282785285060661732296980720697772318941229161571028306389870923515082645629063921218934499746232482229846709895443562589881351533405773562252828871297180071841280817038978197241490332899560439649736529108008163561870965584599052907231302965966356577287707106939221884882737345311928805318384956631060494025872817718198135193425995839838508393671137542016777930994952024960328859043696959290423462575981989710802661776976556223275666732250988814915229677653367777688947958496360583088414266417332693036111543402731773948333664509486276660955908041323065586186083803127943779696975659616584725183533776338527737378629462203084617278530572250898896232493926514276767558614388886965907257957613763735365015812566032347745985524305122716701092751048513207313239060102958956691505045496244796758012357592539509389439851286361032263312870327111722100384705037722563722125300460381044041146187393254153211860764564990401368855033350055571562410331596763837637641186214175643427399709857924340869275879473052693671996706251382797315565212375551809095176270133671247484160429503474076435695501462874789762495242574809221450216158523666598160337125986324216113919706313514410803332799531369876329306539322585184435740924049730441843682488076920942045005287089538076115192991805924682769892718939798429622333822921748802101975973716153504473265762101370697808022405366006855925998905461332311436475525527417788818328213700806324847757268199896401391896883571233098653918131746332294787628135085163273050712592096060102313847820006222492473089862275133237949093654764388618330078270546116153785584549095661986173203003665277507680055108062089745971321686387014539256232398787084021512110850365014114405394403368128898732474407863928435414481453599001128431484935223949368549375813514739224532753523919541774453425927000839675509784698991135258985940336650148243946305341289250845939735970279136818826200756156459993697345741261174723988540790802013611451913709483282585532475681504491623362539845544759974287712192648595852018205872551534517025922440897874018440041416815912465678570230476807170218361448804161983161314217387403739039718558507002775361452499003465452775005920658373369869164756460348250225747974356184391607363034803512266550954433141925373198863492059607084179229165065174315739536837126690352860774014577365524349794887545710004765155792616517046952696495743178668453520600847756144361946432048264124360146497036483148839771361517805707392311492836501801244449128162311043395314956249995725477538986282433312896490112143257856204303952522862491216822449863760591467588040029275147658020888891316247430225388958569848493905810854205345117469251431756356386113233128118942123283864413392294274493250866639298320722279505150563303161820567147936700224518010185285016163754336286264435293297380633492880593772857041500103929849953759349748420476791257154594301676529189486925695359413708659777489592958819933434795770118551129757073640462155113046395368495092816536769258630450000072578611804200324666989632865725117780419146632283299846988706336418242650720488541755581270381423387547938441453830501644852262265870068895635038236456529682025343072664317363027267666916482427750217791795142466064030401178745045325947875494883014098490629037429545832122007191457625052213954718497090167592796656996506425228792725402691489069878284157503112697852675864010410839492155902710049546562707249495511867781943307977491452852025559809530008437075298533947587724303398931821188544071364635857837572002180934236421264284199160015594703675672924670630696030183415561781580047177321509271448872866216590781157888944572782896271808732241657956332741920317277506976795734327149085683249227368783156645417782801862481982407441555446913883059563976506338491883581354734971863507383222086626091749846277209766920466770753269035278438890248581677664940401948516625775568453761548759270330686634619192240685183344686224997516229190073676128492763866256381010392378328433779716917869681741446386922099673457671890006849277591762540145445550171957731521670601069380461031141377036342007302604763091473708791447670864660052490044319490350183455377309404145845835101805659412897802029784505027186956252786446735009512321818847085844199459960714839501811051926739679352934174255249412120038848671570356224845857497723640835309449517212800651215314692451801426319337374468068789192303562798303437890560131377181006536838091317344195119542565618562097001990296400914985589841981990561844991777030558003973371401130955003439979593081126880750014681214894207322097064145728327947201927264809074850502333557408929143377379067156307218479427485014275156344271478479772770880004471690121581285209906857922510789190455124047636616701403384030247166814163439201121998101544259539379447829702036488622855932901369174231272211648775219627009472933392104048875307173393912469931702929083840740277097031032584123077855771299358629522031466309475772375005807649673222748924175718402040735295947675318390141723035742343404120621417086979951963597558684469707464246140859591309010062728067793234617085540247034887898313820676272252041316788368608992186347470120448144149274925868453886339010484922825756517053045665330976438153040879382292425935431100990281886175379001964335536888452235670011426915231762065395619055388673482790126208770104554591405281574158204726336243023186989992207017783007922753636242547553229340284138406361693363036143268453922343308505724380152849780586856122588306546330484903754071236409866889236610129643135425437347111761489437740694908671530625836421029079445810024998744051193947025860286685675686467717893500072162620627909321756820118613921750719208038445570285844048877647222531811822462229647858037389688569059782885738987006974480762420670667297496465831137150547614796136165465737668097843126158114332788385902874292953167312626187884120932784835860907763909489667927469335717424614383800831324568501487029932320958365676335184685143472618832317749157357551776129079790479251848787016180307764179762970455719668551661547154305924652171569704068971032792231754753548454002134539617782600351519291025840571824244630624690763736250605132711496533112908006516181331249346110633738431361423056276571942994664822160211954449901181804271771782167118958313551280229181742007525526542691283652637538083064572256169841278647684958558712206305231797788405234182396349482367471791739634424114843836001028600100634555762510780102232332754023168680970271066299463331435073289386055898948058070640355126835954817496207126622335880613045065489334333099764513253383077802789760740653759020982050667546348883609819649232194495389519590623266401965966548933474674638172670850556538004111581802634141945214073634940215315182057033812583741418114241784982247311155300994442047803622710821179602478768421939835751565731467398106147788357496503844999628594104780806530460076152216132360982621404191128912164382135544938435780717442781700652721894341756426808041705951613988360606811958575408038698106356788960521339286435390345728176308403371274891582547300342638734157232447739863955353577930307661950170992472230773232290532764000794546399259250262908969421604977418394471774886141217947095942996088751523803914858243413848567864525621750850768759072654562485756426147122385867032879065921670787145039655219230179776139123830151400858982900860826678872500828612981086671518096394450326277430552896408871438591138635956976037221483820851764354075904056536197717050152408971460365055576660308505600392799063161846343496929759824499336269043117659617858914315819055243708492984401033460875039202654593253499266681821534211494402579403904639673151933453130085447798035593212510032293072504078115676166897742210067861653526684226394056918049022993373024103931403906540822805257669210300629691535682553232260981555242666113934444716481281661979664818527294845141597116766707795368968737784302671229384067685949109955657718242582857363173286399352388708253537219152596247220443449226366465319170771276255596999628094628707504075694076037185001612376011187549496468953522815700753040253386405049371443557292147577543687067058340276945639948824648385629950317697863369071363489804875680088500312290900332883501263620926958812444827674211931912649503198725828775007040943319765158447298075693811355403232327484025148486519216126336240741411453164776405877585528076246985151205955032517389308579420415937665685112041143259105707228643948649099771111678738004380902118309417875810212822590825684239574639721167818794435890079146196126024135576113292874127095495119205284455375667369630867206792766923811753710445720199866891411913939658625130614557090802339070956272963136151331392777207188708626655243835267213374983507663522728322027994378863450040331422456306945854125604080108718001795873813287665528527332482218083625021880370868517980987571045634003194183729409023291599852459537500223823173701279366463587058797335611828698950012788982864962885546536009697688293746949661767351774514826672352156866370811176641390786340219042463802377868961664139984704548690188597547460602522299389798329479332706765625325478645037459061901917477515800518814956505893435530203643929621802461043533302566219669877927008830778725612912548562274633917386245877904733224454898643334983437960663768782500403292593075403066712047258593810195482535212011381984580763269661641710283530105879156449968745843112400259973509993636350111148513197821250198348068427571060539319494749115547025143575663849812925341536133601407924425013096539631447729015995634635429619339249667038102681709052848849773676615146122464026533905305616625654972870898691345728727788400257171431116999990144512436777025851308363102572177498375105019883827024539243771558780216598652350161984942202160733114693000461153107816944779156020272561555226175105094670140593714184889312204493687619336545282827875821555269442599691523713060909968122238840014630672908773108214539391647734222399006838943448745524363075943876439138234886535219531242613327028230368455680406355077405680351731583125275158223719152084494357112733787781684298864318337384358760686049986453347210754215375056470746563068447231023912335309652679228359251367385049388940790696071350107035179954945739341027036957225469549875238782542498828250730552381565052344751370860330025213901706057461106922869048104646351157868379762434680773728029380162202002138494334629355996465877713489385789247195600243576343057667695054035713553701340974077435111821218872607769804460818961183673180397977650035541198439523571467076181748209700584404683302009638038146027321036052917893115217449752961914210405588792695675516599703194017095884877467202331518706658891580526099337889065362145969722366450466230303741751714507504967977601887805840847693756245504031594511816787906595786075928206035534353506016288832880939876094403565373565511495745867385586377161897023483823886299735462416085768452395461488501125744671956573610113544609124532423077883356559555737089017922200487491545400267022495803583394742932096794679441999177684273388388711977149794680742949987060791753467397988726570804875531059193186997045650375213061047419709748266624973385209721761181340871147279961296108549146707069887383171902461746045773998850876948908697138436776447721762962567111550679370867770528087724012182001170983165389349292473571687917057750599414852941610496169268702790561794021464951764074978958624419873231357404175822411259645453498187875119262531155749705528509759279836898158258529673359462603065666195131193178004031859204274363313491135769624043464340340384169266305239952860996172530229223095465153210338661338742146641669496181885520680011469176137878089228520256519368724695023514083733919769107273453978795857598213288851788015087177492357440566724366157576297051831561557065099561180572861852609936479715250825261261194518658523073512215928192438575437933717545192465618300378143923423110609762668751139598450345731473553862079957612463497254117686737257925878274357503269781919515958318402564664238597733003891746295718882582271486640080192634091324891208507278622722013907243477623336240110683599122028568348369478334728545505949218317028893509633194561101309417807535293221016338537578800919937630990590874448182289048313020901790061531575586720868861136862178422960851987356998397216871721611883750386595968325454483213949278590939963116427818031484598980834923966801900748798378937637697454096714314093646399925153805705239215378566391397548676022075380714878672897757099789597749756472482043792274352783704154128897577272353392693077842335972611614558801755561148308085759741582735491934687520773571410467721185489844667640044836720617024254826368973526962226215488901061038199462398436659195763762449937632723659514313927843800927813613250400334715118289047856959923411872883000593352943622434008592938452878473232695118746146094658303691688739715389273439130819816484581122007914625533037034814273150444025790689693608928614898886572484939432781587705572521200843043220519824540125781889732061908969946519151706626541540427466276158080166986913239600205170123810986291630941818795821526003522336869797945645967392783873265438106202855006009963731274326019071076187531235332907242800320599772729653293942067265410673931022592650607264973971487261500578597871776322532381260258215052693764424489054758143416803783717797665401456531653862818544532170378584361320368711687236153076882896339098484723888582272960624541551077479689983141334692924098555526882129230009420740304169737089272424667817936457471444761253529662766092188337897457293809799319164462764250248482671077135223759855164973352603686190245806049894837652027878559716615337018443795949448548252985449347609501991398496130709743814545542871393424554769861090244675920500799653895058622003618443261228096113860027642454889492014949545687719349217440426574897384359880781909337682157444218231545452900317236079909551605695268993227398771295092385911908008422730405602374715769367942077819218183143544794704585790486791877772959447454405512334381266440471115119349502529622020024380625792397123033468833071910610541671446283998052707487760628931128895180132093015019881195570252252052456889138794258927792195825453392354365010444859082097095162636276881964169497804309344296718702058635014409727184086293959675500395610693134231127844091864241956830286584532214200510521257468557230733079348939524509696865531421404382103704462250528681624695087839768158599051977687730038613511158407791127644543867959251205696604697728257745277976386735792683716247269261273917115488585272529637336495737252814907078508181880728153543522470205142447744004707620435865364712388538668970262019054772873495473569612597607343657527205467627514543118772512005178463978081522312085261651361331733064817461114486882517289789050311655392726721009374042818008016161558539416640588697418625515610337259928607987584771913267149743046934885524423715291788276036455150151291646716701647824603855667254522848575815398343175169694961038902947021407516049693400569428207120801818208839934377848991481560005030865956295051942055275331444873953328612401430768416231796503835838621169124799094416455095506107338051831428162613462968807243752091415388611947150989656722580879711950189922277070977843694867087716584040039254707015014410998423354481477085715526715708337859019267629481047019437683822841716261540296735255343738794026351714813315893321947493739136549382692836489904070831979680140739410821755364345002675389277226214000911279635853771035689597931374858030825556377601150248940636976817477382858387953750160609737457919790367273228289176337558540396078620802228769982116601521695633720182255727437889946609538015459998898852645229077351074732083619350429499415541881092326232665117904333778137098680020808362591575909041390972864726305903372459255774755975274984327525231080953087724161801669378487782052137417506261251302644995237800243801502698727442294116963457683677264042299248665680908645583298062915243062077338415403062322144048911257132052175453654894661270907455121881395387070695579885968422880509546476762091822697750768982503751244866960258730473833612950032490727142599185467866654928098555061565803284843722388219304084031563847296731669310216128625566950858521633305032261543534202966537546768235422839678760334967536929584092933125666275285582003413838916192444495777293169108184187763035098754640350798809955316597831410191480421630196686251421820545577763331130808070019682780312349448807566816616868429200895175847910735223130409538683355019537621993376845125457060877497859970174723426955141718854915008824157804154205856153432514277750110603303021079700209295243288102707500573666671373835290213550659746620446687981824373640605051094451234727788698834183307981114216799108209281994254094314435958008314266758778944981418859257215842564935221615107767058687272307217297276002802411600105730244994873635951657085503842044282828825724261473080891482720955628460831302231051469122005379465462481501956708812825680464903945544735952400317557138425900368726037409894971844910220729723399692584269219688834683096283142418464198921186958258754136307140077432639615505930317937071382931371412343061703121889223363291455014124791736243746082438288046086260756595019447379506053529730046456395615279386550059481550182821687417570869788598485393222147257878704834598921509728425111496915371201042855876541773183036479122787558735627918900127432415839128249251238905455764109619934031065580603039171773286893381947069028614459153795839425139255605151229128550079401660295899318086611550935300493063501532847657699801912119735245578031211438855465155863428448862998313825100803898520234232872959362110584012340424680176273020054296062481441748489042527480855557633446297541404495431089358988646972317556017155640820452889854974525383807403621334505134828826817044425739865408202770966177474473598028662000792100697904320389939337291927028285384539996226866675857088806678294888753299464077505135549613570753203226439979298789614969957549157324790176958366535610147991060630551923789496383618559196221600942944517279871969003406392813988952427188440076647240447013341134097941235250994837067243900727421601141640918459519010181351115689273438766365988252078732064291821009910165353216820547635803204344387293098861321774226275784314174615961760865682949834642083421274820347869527370700671959524726847317987434098377360160485800406815598214164448080218349995963529054862137333365641161765404290036402950437842243113751118335445657530025460029642824585924898206905681522061943528210500489801167309740331161934935317686657728343578344106575349869593172926211306460915340787177898576725869063175216519369638656488889635142217223176939265514377490226027046793127895484058553016125703931700435536484127271438906281947567411534856527461244842712882861788420623477600871599699262344501963868392377471024076255345214229890379107807163570298501905277588930578878032950634786848717595677369996976624530231839422277302663057467709832629457282289277879825876164852774559571197618482327055480001427429098754560068576488614259931696018620230852190737752230277481653440128587978347466618983085268585498774391272713257648738690500067774127116774665103816399993017781819973096912418997753319432174579384541025205666905700760063506076514945873378585555409782323502738947237377395790167997531773668460675305216421681925710130044740980355661904193923674961854444747936079344534263299863288985545505948991253117131664812798380330666462491960662067725625572887986604044091115575163477742490916086230624108313757451195890929228871267041622824414449678229965229985924318247916779227893992531616934539761420048959083173123707520737987394669590303045716272994438305577028395483672449878857229304891821923999588549938946491515158197730944907994843762232623458542822690627510773904366171911879786797178857641118774633282396448399051181561631225603308613869568122916448184833389049757281613775833227812494999295699408006237410041519989619643092171906341209196260100805237652397801836586290545971389305801384424618737088406915617577403220598005606668721961571255853106024743892325947546638283397830188226368493287270195416017449833713070829080455364395765145126921420124938945841065342117785600495860608811992039959140653778826162539337923533154128357835037982293979061994269393078108262525062033656629144085988940228313698720493930235501224113323154027244689726713957433201967856865996482406183347212618829262453046628525717629492723007650222026690391457126672658347085776093898175543396738674668446079681265382811163856930335740128947470726297603396576025182027826049291678998401067612852337716552510799844229181472184892341250028448853039426680263919231349138336508260421665270261422971179254596835149170198035453567817410529445479020962770418174152220891054154053493956709969940330670312361787076945964396096763100873112771122899230950195512548684946868644968475236410202633375394056325135631466503223481692491478662089175397465696672675176783866044640920397544193263078414772296150407881356385937573114062855998414194344492927399534933497252603763957901060409670471196906359766103058652324372364803541136774844607867878480512781539258676215296442647426551611121396556005173616739527813445038630377830376163643724875835175322806453834601230069424904793906243128650916626172643619531904518037396926200084117854670057640597782446826129333514728447621167431162728371151803108799949962355734513175055242170488953901911432164537276350972383010897987075763779567652032079208119820375346762185008216477193264195497321874857575342514165036214149392726835259974181783006518265698160182760188793790076435476788353042737135809877199577320809983178168878264429998365885737963112801935486989184785158342608613801965066612393279874888377880169628587147720011714845882695527948608253423500680261128819012836759067442270651733490172789429054061759308708201722862270551186706151191990409615349143968841254778870239253515631723171199876349107631916465516114872384197211084342211991950423424938897947340032080492055703128534522756163602456390931036392060603181084942154576500846876095042047840618327583658589211964180811404402477926491093871561685644684562470338554948865034201160917725292455506488600305689635097872212576843615807028017650864190246905638665457931332445891729861301373408407269703316762833376530642056403860119615479852923200876221495725659646536886772750029566363823820287025374910266161359068039631571653333934366614870524221883053632691131493141959954558400983174482041883893823730187100365887945452197919155777914663568874523246178820927414125425226956195778702711377039365299448870571239439282421696717417428868823135475914828135033662629526696464107910127563168091337436904062122629414811888785522882695330150177461255272066436035514458275805429944917687558554864865283898893621053404458912113097082515950719205329704162699414368979661540335237536385513801304641448630138952382878499191368168403577588512069662973570066333208309506772021924600900299267282035451241811498529825730510407585977357864034542356925621216974883497142226103403847980762188510212213709200300533484915992079811729173902855514617789592335621429281715150581222253740389066703263745720674655713014684766963146519525147309999822288368463130817971328837121421111900656239250050421042073641497889120432180292133752905227072665517012071659536538818888941271249171870160304248647007946880403076067071747437497955651229404816766578830665792817903268823542849437721611066541187284338342069055019456305659836452526049832816866291793253735478872127779618584250498575644397410839927112915096567104692504763316525254475411294902357221989377464366838184477007717971434453100047837132851801436526924113950107161024772602389978988726338252197093758039169354589409816230645415862277768921067138932980760649552027790754277968222337054538422064114472521872217474137509357784424122797474151049381995218028749365002282224237220001459409100387170533541544521504094379185799203354345332838161683755365109465238149957924252645819446582080566284037918171561520964681753710137181187057700299830518530164745024385153548221653616700438239071369358118087897198174508390209371695353829728840140422812836821962105923195387013314208296062157508298013581388356620016352230893035222034109225742177042152775060054423782699308778313047256704307168721954140459582032238184074175863720688269778204022158319948349070863675538519037301207381572804345685460162082474687786985389891996395578045991701101415769856201535609686709706100446502082548349307031296283916676451162339868520834800976129556048242433859664323371371911648135666477488707538452589076838645819405540776706437729393142935846802126729731671686986638604397118617650476508888474296945540961492554455804524891571523218079260022025113709627994756291316829790358380692631016022477100668685836641461802889905120118738851336878617963225727315513896052806241428302495447458024743745848127105923241111894400339319795062268433066720854705237459152751618227063257896022405407919513997119444886175671802038637737226325728607484548848992611546358273312657901310288114641614441409008031636445561980758191823542312562271418199564867285948092613072004045170952170746495667709493087586469716692977577832481414608864001290063720142980219616623752935557609637233961743006850165878415660050729266684971598235917638124381164239790755842497877690637294872854896986270718104986951319188147092466343068622858398548166116129119759544943148758726762251025756534288696035043146696017048348920347868026909939727920869379151141722894168584419491908460133151925298188932595416575153294454855538294520462672834512878065189427106276739821830074075213247166270837430565470724136327616222512428570521587477085098052630553407219145282555394770487675148917585339184871103447272414238941062556029587099891355995669902659257548183413743264550012040014370962985881656741785619137653782445390042428236521851336947527830695612940586551625986598626639498098047566234936841281461162881743957051461540756661993563221473930142019104844588749175905212612520820680408389770568493347576920222779998558104057012667003803183425698079690783929902494212407129201872521607577096533082441929588030961995287195161669599073691612325627057066716827312549122263826689340659411918971664071204562545514578202665271005278375818696449980344827893699353900202889170144882557856839399613298028791785918931822242993723981747908954447700529150831017490134018727611343029028966080093116295553971375518516508476469403073475355544776045528109193471754653777414081609853934099132360174479267136426726118983740128573309694069353898421494834996532820776137941119425593878193688045250266010354938476628169901621818842223822114990780119623283193586708446318183576859098439306609119561941018942448412164100846854586144494682310663313029159830962403875337368834071088608613492207412213179547266804319042642847516439658148123083119944694984664715332595697255972763592104170470505464306225107882771753613857726520241153576750075977620178972013516770927085823374935995300014512639482875151088328219270245283322266669758724413292824834212418335719118164179250538238855208332464968020794292906182966862746894025320843164041637623913531437669362535008563298844638465304200809093693883391468560393112074992094108467734536600596277774677071071479578430429017883404077956905125572602178263805061107296310375829142336630324995032396174648301492615321694743343976842981718844883262125181821125998851006314062625600312771006668280892525995088020573735840319974414190889290516208567377690911146380557840527423528678953434864285322909841965074346100269676203236031834647437675672558583673526779099324086262685784261938066232525197489493719803585128281590884089649529669101740802037616769345481675563463565182476814151175756986151123009604300103260364990072821912466504496193276858329019017757375074528727550014303521815818058254602714693626527387284352658517308933294344380615104842929428039022577171346824089001719980234948402520133404576217978165929498198168643614980665254076555555534915025124153383940761254259307473030958734428157238579833003279050115168960465436975063856360786634208703510580121663314777112462610124131757542634959768279363496846774343511950189737952401136216778122908078951664765382189750961674589846188422027194349224427723283204046028450084162595559302991907201664539487855695950605496399716540941572528853878450431376269907925607005106281470571460940752807037310281210683949934766836358265227792644711791970557997343502938024762770973548720427992458364646244112201272053713960520189253906319634907220263922505304744511423069684099327311648485680956653055851593393220978771994565011864901181994731094751259057307037838879214483415800332347247746644822705455143543463391840088838664610465002304234177743914022501395518130090707982198604608848206930855170455393482927387728210660953523554705114591722160500297505732658953320978731639307508113984136764837468922119407936653419657182637372491865252417959178874640110611302177296453898527895506686108734633381556419943604863684666518602797057208880343275763293573636558598108145038752302723695860519864588343645909042174828809021037465024580798600050547587792134687151109210253862248399207304978527264264868634611453189418918555783176246783850442772590732027366417459269303876696605855960522201326633886051023398301784493416342014149963182438139053082050607635957960764813936541243832091737082327095951783678758885090340441662336811680579308378341550297398087318972033328669468109878781235535065078605128476122241667749995069372643727069169422667101968539263358567815691594191379344256710923622678019599452870644873728127755751007247675604512838025437182190452107307922777481257066686610700529178965831504766582923130229820280359454994794801447822877889577925164856625225532964866844532080005038565486348383234159668153786492442878685959792487174831549811138629042559557106385860782939205004059333342704208821812340305392579666212429552778290637949257255829746868645136926618557374810576407765204159522607257254349644008363734543905791227568568444314686881976281004820359149123312777181089674748776838445051679901765943965402978258881729969623092130566490445336396722844889110914342620668855600662900501813297798353487804576235198821561593816494826079522102365990445094605068759774025449788075865818528427557736118349645121708706602594007849505409240489579505149257794353753933696157225754793644171082372577072468978262134162326947458978917840197152412830738834928006443069555787842706624513565719130863990542474320591801411408883410033671355509142443798389706382030922342474204278034437834283630011111563505862842995618566214693631212530382615585418608712585750751059984069225351842979159986270560910486291197475448193304464881743386369927769046157669017210020779925736984145958930157514042179594313092258925071777528102820705996268796403555124680736727267578931026479518402466926078218636647416467673795232305582895807781931767664446428283722153403757722555194930081252315740741643024241527776153860033364364752694104016606254781931470370666671630895707533592914565737124265251675826049747241935176165101972300577314082279694483228213354841461954741903506257965324800744589437938683285077064895206078990687219100633454611222536020469857956894360566468671977893105788911459685409752018122710931926374629192112288809348792365204325352064064754040669689347194412573634156124228017079571591983762199441732177816561024185148357340382199597575777716049534966748026415470966884662411675865587090432628828614525520480336810249395077362137515201804285488927461732615944914613462145152793084353738987373795419786940572576086144484348969045509745245589268756449726408919377189899369165719298954603216808439906702922332434518605202760556010395282055210706094337987678069869197825519909070017849908470336340541573344076511061134687347686246244498968490859070742886071692651457756445416901182904004680332132411538123092496197916405125228020221991583174429851535938370240500818621428443407075603427862266774380968515581417875209791842376648536795971121992285068110084856539360508175195657889037350953519183715151980258649104318107603485988723691272833535183999350815807806518343664293596218988165526819883110734656546332944138737066152894770087139184817178964755473422704609899710537501287533561314367373883088267596841045814935308951794714839276121063147640989311714024037040480411694484193321885750837184195584738893333444495049178056532442852379165704349445857932138063033480951582807247253331279520971878239013992860464201696774135753309095303820504697774791640502206113112061113802041616211843938594178495238082375237066157929014749590797245020049729931940867683547776243538597953830931470360290703879881265547161073751163289296365253018430810422406137413841536787870423847994572098652772562195797578853971914001596629671375680923240296557153235121404737896455844220440591594278408499843861375176089490879704801683135118442858006082568519719308980121203989767956843265403282323677017567609752850139569184828902347921044917641522830232636476660035251578815462565674959461625586890919732312040663342362385250826417447839369900725461653314052858844057165792995403455003566785021408019665253536181269930625076812246033141486775010733538798185770074375418508446234125266996556405010685710809894078848113752857275977102875767604749290603898011349186987958550356594094798679360309501547478383784798376261298263913655704678713290756293123810915420555620081041394457040187944109940765033943676171990659735842613014107821362181992036013386763357228110365797231206750402461969760240854294816001622173173955389280882975288933913357656751333933052754826226206582553904248824232750473471716948850581024444319297200584197486567067418456334082979994001177691289705036747340087527947065888867110831307083827250929553589245489238630183171042656825814052434962256728169377215748630021563094100377335050293850433470792243842595774815931852887792479229628277718461503272469256303636964555599842846179958471450442939842149432232115039576730467836279169365553858990000053118363010565710753760217114396043367159677189648524427802258651866719583151153486550099525929346960457317119077244946203735673947671534459655952880705914960928015901588762784102736214763970046109673304145760004007471040206615723149327315304875997509696523909730661812407992452315313993421432444040768087378452659893323207631701895775531982344594546882306131357156913708385023280748341186483403172473507227676110449403754743720587293087078793831902454620693797601026231352693394024724325814904630333911818567779818979908300783817863018802491511144005466619344561881085729979210731046320295883743387263165064260867412810661524658454904119294695682286614402000701683795123880567649661544623847841263970915191125049792794742110233124905176426784958262587443237712373191908299961797720841464725636879682473165370418432901343863542370605612670155185142755672681541365706053996294188850212687714306956894963583413826211245852938752768656104395874164831441822900129113791597960627131625552802550495706441249726155198384521360101837745175077942018631923808563586271353764929468784199974629135919798710771613553074406306113367672116994704042026530354123673434019209867804000414921562217612800387182686824273261326816010832976511096479339310086283935419280430668527327634522927660591607065764804390806655481916403961835325481998450458064917495255605209070099586564548366054337491993164413979308365654943951395465441246936944286019834562479500588130878290015094516862696863387354257010939180881947795835196538759346636056099225186773123553890867938847317733944603588009731834637016916346941656622955949258523083760032044804809200074689776452587650913637065946505428711022740118080645669565635798052319376957383600447075790221442203990937683170826634750186295480582196184345902703388697645045125778428834538450602887590874063625895025359712027376500808933724965044081785864540864514247194056243284733369402429962998056315927193249343620120457616462166178643633000426221919073249269377469557114595906653895103317526462897992059600612003322621741127689096679447690099605252022855871433039160179534426863731701398759393255783141100123269331219721251076387644404811462007322746944120011911813614879996119861591432910477070571274181564143150209909169205611254237848430939313638093170871350706309720343001876927573008828303845483131989414010318121897614231832146392003099419662134127812069337068308056940558790576070260029208495687151384972610063532372450321790313990628123539612598272636709204829555800471319023430393825844384140472581534029768159468171099541703947678357142643283151477402208183383273634110319470578869222193170624311672573916026178855406741835336861391015445846677667962241927003220141501526173653928783075340454599363588234835019498518401788274677697324915683251676361138395250946929285731680712211474433955998598292698665288868531789539988747342737937021993128907397788602033324276778597969936481423028073717896053467759701193015409187620913278781488350771695111633955910008689024737403481361489068588725449683072292221519207461603219479953856508059797000244591898376700406541293287029629778813906368248622787457159440321040533074976228386478633024394876847788779184276396812756064850680242697566434358824907092435821086128579392695411808233000782338865408399365912226087957313138395952207909710638107604231194241639630778873740356779363356353162644893126705524855013888468320149646682251082538340456447696185461919059258157311903171647818385765791149546335635854703364799406860738067358646160858560784282884397001267368718196922511885549207877526195278147863483454320352892672436049988623057726315600048834379235482122804989770612382777448430070058925968902122640711777898897586288522192612819509404225221619086756333168648405071277061462723477728865672673100713018558485460576523647006509843216434374378353387063178088203102815722974715648611150010855103148242309982144256513582661953560176984191289557273004931389031560318856995146281250653683742949017187416967878768130981402976321312731032508742778627410454070183598499733453442809632061144262253763875649647013706228270400583026213221548083524762270553474822760129899049120980407957561683574354663067025441859243268214522948637389632108293562272823099976085101364363211750521491590615857229101637446131943194471236654379249539648080665536620029242579220645488267586713774064762149550706994704566693962643967228017849521896984314692741079635788149387938209355790674740238418463003911034588169342830610930185838590866239152576988815249754313036873847088538205478762316457491943375238839593412616513526770494485948631007497829071985409177974355716074966975161286511646718407827486909442369560721866800648268691481867150791615567566144566176466754144618394548574098728523466966867594565556079509002323670481900706882991962642594638767220596274817006299987238309666771529431175085507040905208861849415975289409943881503555845381705728512514442110765463522098728622374733059199129139036195687799719052953205911992946749641832984182863719858935527273715753332646122672380822250460442714782451695576364753269816148784113072236710979623164036908163107399085753509560045299102362750465955943968403754860599670981322703629847672826633315654300567366108804479248407277271661188581024362894898912275969415220192837296369185514664547365574550229252343599708619989246280092303692566069173835824668556121756517874209404848590495930328023862683259198008624236598305897271960302586504953936436713367842821764161144820335198575144683006259488633409817392204088816693728920043434033561137169005321261563611023212914223207093066456500979853102504002266248920436015113718155912381335685825136167085047512839636363787679574623909785475141780621501430279622505661211166012201626296404335920999689054977400226953860084794703034760547174937239456984027202913114240994551468595527377294733002903731625458753123617280802217791545548594641840522496249209141961532763891908559753215279311850879316006252674580909634730009752533513955146081603748470338184976578024397923669477147341841503694940444264218124329512316552064192121542465017021893397771812863984560815841823097158788682412826174203863478292406916352590159862308547045129111297460180971414266799181449700714855958894303271828735411287973666218418942505722651612514578966955895505346913996811863700341353315944452964822835111083643687002142352135767767923314403803487808688660172911403702379321987172312807328507047755681272680451532773228417764652762221421196652767194464817662497904424152785586210067972816986982090569948466885861249278131403812373539445832363564671940954606648856809285340072027713768231253682209999747220541379037149135711521451595092973275404166755439266073684700443742688055186978896016998559833075044234304947253013873439149312985442421382485462335184904442297873576170990571579294178531540241124396586945374140209763266492555202065816027454779596997110329306831967654555672704355215057332808293056729835647699675795675537107924627979735371520544317158474893704857768985420698624687896648310530879424420040222480626452309019298087224261557800149447341399484615538181193157101618056035705920972151464062636551918026014840583642471872986999432466389027285939400196288710579765795933304533366199799548235063752666953337153934295478510791782804173213368945762793347665658380423913237485543240105759613077566306673083974936593781875488807404970423941598312249603663195003352714476608489855573377841902480035004504097363930811042663942847259547869406546467709156417081246977512407615261873049329411628570505767381192235237859728945172044260292881853416008111363252808910616535566291688561174742298418996587315065581457004650289531143748680974272341013010900146911669904660017022248324236433233870238137365582547969222875574146566003790407448346212416430673405245272496992967646356672826730100939343226065817753115983752399171208941821643790470780486559036445546066328029558141960921125376454850223691551756627263210654353662845722676672332686192505608084768770507695409301850723066903505939958417930053847442715430832843395387225536329625324642039666506717465673853258322019761816876749114905822910803269741845180982980500123735543829941382670840623527077333917024434232643703407502849003916769621400132931311146807745550906660966645849400659545256170920488646804303345504120186983624574711598145561130013747937328219340488464534137499666413128260012747440003769543272474420950602631378105709856754420211173108482203390402635712845778006619328495860626289643649853638927897965675026244310353532417049890269629387837021141294365828853185309921333895631515325502724396121145971133632934052407158232815501460141085048898545695745364198519635237661846863971253964457429110852222540927343930140816772830662169372703788913651513079808836536612999762234476705571993731807606707563064651820102223691426677905355807755165628526433763286845486129768297362224482450216339849834900897454749139543663580160693314707557875142919573459781646234053924797332585270272790242452910862079387743853537158431672609998846230777341656690765076720721182031223463909668000280019661733371581783431579045527092424176964066775164536627061820620147613519726959006756242122467828303595004681815403599645116237733531909689003399993539051021968236510663383266810909165120110648918987018630433873719728471881533024220823767019173435678928889722786966840352775196298764670180414048725822159172562179795072024173975703118782306654953251582943506325304542900107231757412358733852732203889958409374085599833584621057411576048105803040204898619588697117293107544468214685096376744840956676444417175439937739117239501052217717341815096391382434380221385646333582832153567054985457951935298665868892730327402633547496467777842845529481323898816562690731980829141241330493139328125304700286753231419964810167151572025870871346798387904966408067994647980851011024162464873214708599873401170371586223682773340468861321385021630519274901242149615492708193307375149236495718635684285332103206362227796325824429006834518598031070662338169490370538181769676515068218267835973176738548693496756964299705492561110935337550609458864528248823730393471369854432674208484034034708647837596032145375385165499294089341961025417200379226257203347208545768352017160092293645508513810148165880226524932114891270862566123566355117227653368185711368056517895543664577055873940665492716074084142449867267163652291650280101790921461960437111302905792886532986122224615233460319836375007170776428785757271419040781783613507234404117752002562362332244544461844852645177569509585166226740609128613840676153496433868340340051856379947947555291303230823540924201300013756757075162033009690501305945233004415206318790717815831932141887656251860753660762751593125466121994264292040797465832821866758417710905562546868707028224030382059544389242553312693065135788188671558229196297034754759829632680555261617271301211771001510683293175333570686677314956677833089298381036497318146451469255158374577257489607482462928511017200376599982559321233497990457007455593549994638802622966233005434765330501203669438612752315022314671049319441873986837492298875432408200981447606795296998121204273352133704020125289520743702399384139446748062510054020032985793940037818693939603851763819457580074936807494816258352093554059604303726134590627694252453116777549022391055749134215168251161425464129612045328228241989250856357570832233376631490514433748892189390284578315915501383706016307570150149730376897825172776847910183536989559487516371238282946053887302794626060855283048080255634609120252226201935216558987235253217919625148887767713106327508878382272947167762495450763382941404321268957846673860395145687614537168596209321220801067600998779216473913818971755212866939233701698166398863032731348511885900018301522485826284511972836025346096345362492023156722695470436324018642096663722609450792172313235156183507325788508770566079698682603853181917164273577737214949931987843235478957936778959840900558770130705153466915190727661099544121177210330536397628571591869416243109414346243791520669054790799198496304302567929090835506370018459751778440072406020271413883315834944568014318909320598628227727031480341803342279152288291144709150884685499661314471846363368272675196574390535963219117666444476015567039405467106567761613840531977341211790292893967928627958176973406022003285470819758997948054095775579133999808402641358352011902433100149805346834215230534985715612109107978854916663602259356185933181456551543079488042224748426556891572620769044814941025889282115529559029421694635183753140563195308518306254659964146857622517451138591563833966092974796432346009038133463776154131548710719921021235390721711822348351385269235484666792894746343317912505706894294216164148870102039626550910660149677624439783067340381415733555014654467029267558102216389904633712795741850514430415269541224754726997925945263813032387560149395629092440337924106234211549771391012050013196461484976738496236913729398435199170939744198613469167166346495213102987992193380701781757970686471525006352437731207229435251231178472134418514572118316458511695297072824132871435540225906198666934020138723517676812947994537284805337263519943546572135565851925799803566426033875625411305508140489190870930661350183792547450932630996069568459727399164476114794070313189213756901733591452359078842921697431893634662127515365427184659335980546004538736418449580837610314387892768019102827700101524966403474027445897961257319104849360469413240517267549535251337648904474346902418640052513591781195769031344630671078326572805227990559668052440544944392103635712362878180548074213955629636645602676789500787766308385022924726761369912925947006309276722371218061416528589789921797601194096841348303972064752337426451468603562884900017632787181488593285073936935165609951095750324025351071783515011868229083523743762325001789879171289163581280382747903103603453543567806089370677655492306183474100509627357106403504068121169446201985501747951170600593419686381527090676726566792422195808942792646607199286806904472305470945047362304595657938098408930325558251081320099718531675501925104401297826698104988651587432368735737334446828816461451166982033594141448621819325714947468913373732702266159632628908789267920302923845795634538704699576143503958808498101752796456512686912891501198365233632730175131512134301193948106808510087190907399252655048932959094658298951770013368228311280615008578134258258385833581949480112670453111698569844255331493499724296006061404985485694789268485062573294470568047996822377164361903268440955097572376925818547955977229493921807458888460240002918135307315726417675608475082032241199733596581709445958910676729458339743111657115215909068172074428062474129761275724447314843073830260688024960452675886770261365535600316395134821187656272665893373515759699037063266384289874928143467402737971559626948512427433920868216594663345058183337260991010277061403011778234574040471573727435726322246791624822739109203045084554436154171303446462212980095464234200059731242279162436064684175069407391420282165060906370975267638481331798929991045534067212011236756570558118126757350452678548172415772568489657710463963239333995505210568755283400709148973597630453369412695320983896753994323832365723005721961693151379760171617601748663025011766658126176103510658394768388600210599930773827318546095485538336096060403345174271322947320330173685097030616582208310869261372314363784546411703781893549025002363228315640846746966859528619983986443444784615999500881655796435880277660456836325195328502573322387932282369166511683818364686108300505136694829918915999992786020982874567335348312995191676192467977703211089991327158133607057887768781538602969160477554518673937009834645261816563558581348887653560737837277390296859367521195723350679564534443076635755842074134347614396753386970182733559851866429398953346655624360157032195132754675415510485404850313225791693862559890189853108413290894154390061533595304185784317486039511697073497879324412928015201974724805634479449226344083657910483396887342567968583180216234330401152021795358523044560693783078541737420361774199226338550254529046790650355986211981016655962051803691065899029896207154742586855718226494369019536619227865124863323848545090264550415297211837457508308133975627806268533981459782502849082133859557558229944322571349579415873623066721257458155530377310054644927997464737956525385355515119227930492933782124047906118269481461133956276172406778212979109422183244796303962424281696547879911868917855777069933836925539333777837339420041442618425418318131272613431414270307318103651969301398998903351673915321690005428412115922634513317377318397229165412051966267173493212341412734150913459750182443688229193637497150913821485659750211861578308095490615271017734005259545047512362572283994185106374822654187660853472395638101174425403527410196822341151579120406257647653345766228016240526854963007270886452640187866825172301845983272576857632363064776297818420140407109062499086294993640051067463172831393352280569336224770480834979424953601383584112251776072582201481219627445546318397933875556604743165298264322543663514427685722314655691454135915262252957712403578418092511817844874764603146117854983978808109677313485362503839166358197884103275683000266010311835411037273926654069362153568319373957580448994385210502450381799310702199179131576288407157623003129295464831755708119511759829815793279223991657496547887474969818918163327722379371679369129940818185504926970709628128312756450369210892745664904613170243834063378098664361669511550574017014679055250782638890945968107004054505497870820148873642614753029916388434499375269576346578458398719709650096958831767483821392569100292791315087121139499578647862414781803787245582750727174091003558740195864515212176228766295695060871902578893627801945749956660743470928727152620462971402059190778995072941739507175038551009186857845760844236463248163702803322539730478974278136378998816686698213389552013940753179587079596776909375642330433767883813418526915234404318041120662823247975239219598203958561588630515217328209074973836158239212292798511876864231808528860000781287016060220612564029776438976656967874754663673395031439574445597843417900238639348227088585351539939163399150283138526571303833433929919777389206081978134994974376351772311076266652912869918306173903478174955221053889172434396745786098519254007414416533025637545295253005933829400709926597239314165098256819952634560193219784951429352811776312932405648816009097628823909375656552836928102237702224032270064722411887428868191957860298116855518506307840484903855256188784981623718545864211071984779086875601479728276783065329348992335386329019700900462899953152934839392481560145225006071487165527682087794647775673635424952764038581793066140362175231824955937498572621272972536163224305150423156219155788226293130900403678486999022418381482795509373949401462271256506349677150139409768135331479691187236432869538830520840966357544818412792925138826619176532771011665769804623303346313612902070679552650317568357439477515672249002693843059597907702366510825900852111454384442185567322136848729837594953667316598782720118514470015095018410744748711861398534808363534640091600481092975305010627338399814344902996575665121056884558863947214538899815190156292978784950112338624693238978917460638243277674757147469035520935001902515991951999638248995890891334424697179733894355866477430720398066320522099447671425468246566763044187687878692473398396251282719975579880634881945265180952500731676387912032255089700448259011076922813236522562298224837009340568818498159464536709250347741671944117486461146930336038922640861037440548629581580703509335958835317567528548514854023507312248477562819177143594101495490443959082032854655861344922447635156058331496208155888754744853612391600422742281996306695065707531932683139501696262378739538721384008508994198407361981625052257655747910660916927071788864670586499330312701641820733956899033807367529637338461128459390956910732086949783406303549680221441892107192407556783353779018570851337268891404172037698558478008122586527023278359155683385491180461980734884990223995338581403898508595235145563587932396890954465780859014468072210931928718842555385842414153278115432568403129500250885208130098396975477299911859985336214640253489950840611053760886520461744294403232624062557153606982631079032022428439835049795853867348016665098374916521597419334257015871805642549307989481204790829565321346998913658917006371206106790993704959792719180874882133718656475903237008345584570279263268639712215326926426097179732238767744399210433092229573247574301931100409551835922692444612240599836913083037855012386831773913704276473397940003004257152957897852644249841236589371776278737061025791016924919083635500599033020010358808719915527350661516968130696102829077649564835295596319664145946917801592095357591007585599171545840812592176973044324417812287225378831617701072636069009871745427023850420353002600556200991808328702236789920359467729920296172206102250288020502834290117964072261108191810764075140907332466725085773466293636696303599224842032767330993753354227321375014544405248083316660375850057925490150331326149325091414380534135438314189867762543168852350023976291623107696921032973404378774634813333928285923294884453063888271031064691022479173607722438907416079905075363768384878080225408153807163001489378611604665964902587599617693924531062140135240194731074893041414115650881777263704808982469344826158711951908319892895299091991852727524632727555066807827996865588800171277434031878729184846320370933845890984118554523551871409553036219008678051960014555814875397850895696654497157613854807556735198774103396555358780848211450032158941229226595237398447896085109308405382259648830763955193987871505442088227302457520391219850378183184001366040433334277060950946192887319384035689730457949048242398563745288393591729257791971568482229961240286639787037413224859570419007662535145078519792256631350618310954187144384833786847996926446693404988501133129133937583929595073596682951921700213236736586952390181743975202563123955322669534852813268336605004799123916744529107828904262130068101419040244761028987748595557964882570877220010374370130921975648501686100598961301978019347839875567519694120705683753147714246346034835626889959124315178514549782482975009567735418694220908840982843949270758043382110935988088979556226221677073174143411212174409617960057164438294960331253531747285640164145946725406341775959828618527964824742825289228695271464046813289346204762679402658856694764861995485593251709132982481058463299411916454079437650184811452537003884608389756846067883707081040849857037631113749558763572395278675156398517034943028186620701488005683937116570525247703373446149292700660670351981943804263979715426907101194759818365931476242808266267212405839316935748484273667888209405821208225674794482904167759297216960197805271319486805807007532828845039954614626047289014199756311598863548113565649447646083598761723117986305940117308536613757416708074242931041882724409763641163508487566303655470000453318967155458596580284365396916408897485162253457579322739984400196121964448731966210763862326572439333441765376163526751484753863393021255704583205895341479202985159446435788988097955675051748454873231966559740812170596938753851293617369003516244855410119895926678173851697830636118498113988705811129659119257545598029545000572291174889467299968538555076861285017838532089735794470236295446388515809528456717113765643053450167809538763858974164781846103653915114017838041762303306147473921689086279474300692846527695924734335092923469274728574706784008698039850629868068254783907005059177285717989732920529179284057235049344881376979237198741488033584478908299891672506007293391585652399962378244270412983784827956061995919532826274167651148816747083089930109257256711551036957387687864005753763135788142840379818219452920157416183353000454072971995412658607344718121774758197014781444821952374495456059499737704636674752129086966323432498687128535197114993170290447396998660624913585881769371038886252528958891988720781172578931533811527135824454896872365338635814090400119607844772735919449374257487882070504980883801655570697960346075484764604318762993727269136880867525698014652713346987855390180444445935426101974281595636953069370029534673128344015952502413617479119263015714853537221926831419404649683811468264517940062906398689373395603879672389798951875425309882851567041648921651347167445467982470317554764832301568654592293779612604970570181479604135158428989057607647538405060837925423475153334503141613105238245704691593596700807934037837967281583988186379050218369638949601398222429659056159749984154099173470685043815146011720482984446248928464704318036836344738775724550645650443172142101358574804974390151916227517996040292794454046251129539417137086725631171497668150169974413168430647274944326159787447131043006264118862029660444944111331876029258790986775396723079084207228404354851307433538646148598804288383712270520834233756028605581641170099845761396812198719609046638999175821988700302779353292892597176726888218977956251705348322923074927462108103137032760400373003320335510317611777870607809337211187473776329086616186653751021122478607053349474740406410698906902273534904880827754171674471412227667652977967904940812228055759482499104660607027631599221902055174994953816708840312559632869274275549700031154403277063807807811771463639288980500866255296150850731730098686938950807170703646934219011028703984020612850480544458497803651582401471007280738831383262498090093111115304282191715600050755491288369168561004678559254870952237953376619072564902387872823023636999083965779379403566022676887108096146428813620031884072481802670451823740358446984082150732918844304644892590751180816492420400291797013933597094308017678636457499520015193340658378091724185850087056876564716483771363361777990511389173799400373926174506342442713878386249584833085201304229960897598497102321926258686245570965507635144741977600595809600581814483690946654190655752894044262553584305286242844683712094149377451484391784404566271326081297444005671527328177603142270383569562439480183582717286950277302095281162627973853431381316742255713446377873299611122712862694482797392101787424928574145823496290782076424773939283797307168555568710147357278564495946738126468207960593421453022138796412168506581826283697179189017914802035170139577093358960234040886389451553557245072597022350567549679981281888138312050795867381861892856268509449076576033961828709744244701506972347667254413224375847768461394522424284757772162442905973348841679152345847803155255247794290867577151458311550971869383485046893593886625322681430856196684022842481381862173395163116692948879258512074703724103468424859432013595826135643989602926355788664581749848152535791142266827231371755129705430070467106479784577982790195745672479279535263488383327521454921052856648365098838842157787925169657353712436380542268174871088150714640825695461050370974678932347330248755534046135616915967578908283664071405851628593390889690300052066606432315961702575054334821123251585289620726521156706033890090396045810572757894094335338485428820630981002212429890260914647156416704186012134888259799661077995663906086031100968450931782858248262944571841843906527382146462960136978995378494638930341176566191432329651238168853337348648536427356954029960057338454402617256622535199525739928765339320482032672507508169802676421663221026655533991050881772071472826648271112922407779309635128209412499115931999406562138324918856055492154632029599378568026731938331781019601811590567710847932879890764496173704405002436275023241026747613426494521809769667784468717646762009871931891794947144413730941941374474345191065072649715270938740458427273268684717067261330622671880901022272535473913244083810380649029903033197005487704300966919596505768378962294391767714368990419358272917279356045895722117675158679473733098611856754802004260809289808303624844238841867235366320001405886228733290363306325787668769149398994131165223026629046145734876975161454643069470220282319246539151717729558220991947426157112917873252301473918815196047950177223729957488030816628679398503029807582315486238235474190283298166575292827878805028150767146463991370942013014287890133991961556566267339871343896836923406716693802064642315106090058362193804158903030006203505364366192305905085088885843548883028822880781039827577310936207735472960185914175684522865580924476774725253499997214936956558219927831872079799815084170345301199081336582069840854703585867259030455704096766919675146629737837768122195722826371054789892454705805138998410707856400257168117486139727173288851189169285051129010247498091408821453269797570700313889391208527389911822924219282967645155173850616968340589127940905320213335110863666025092129379151707058189732946069656690865601952660490207445646779906983481603594713371568273577939324323018396528729303472474454452840453103877858500999390391689056602345587874902847666829992731949702668909091821788976847254586765305951205427167229583626070956406070063519904672351809319775548409787125517928502822526358048081042904044543198169891499586059818224133230636002303848371436575782918438804362284908031546820597516418397372197256901923966396998335259735073287273758601794999379041065569502277705058466982371188707195303137921668383582152836674936879261730262388255234260275522162780965097248113542520376587338357379206786267361620839093987981197751907217204413578904529554844579154182089037355052639086304238597404125702596726163734896768894539963887994433551625550757717665296135874194000476921010441373093011619036813439318238011630349767043470949204044665881528381594155294211362443239912896275918808951311749848569987673238694047119231915975760407090824426587979808708901207467064290019023383655478583468664765632300945737476386414653406326622563681453576102813882896783098459383441424870326003245231151297993253981335364802415923486585142708673021793589845315077820599814669391574235310587652493896534375622533114421860048683163763461414297897494911588456822041252250401791749517169787392385127850553312859565862362806991971515688872663166679080276349705210085228097405050075065378219416108231701104238687317564740723223097985639092714577475875894604992831031866513109782917207744354667714602507045210736905970540285284239703104419679076876951408978812002253647910991798466038902579871957098462647549101980394517803274712177533130338705939640596101314673404485635679375639556336296721591163669332302625092692798881254371163568916574828823483516203203015495713496930340481376850222999761079964870300150195838922239232799698296030346098182325773686559817358428730165156133333566545447554524772880440383331171222078124154114143074933493256418786730542160777565421171210154532143132754116946651608740570388090519410886943104325119364313957263642313928837208452702886256046899705156767204155947061153249175113241653926424436030667004436733319928077538690319379797330753692609229746417728918931909913869134329583834823428054702127014363116751258002465859700699157505508832946957054543525398880514560295039536016174050013476036230483616156785365669631501653881689846468666678912410891980275736830900529091540866898026318627430005584606036251740291786345843668498752670883775147923047922516957821306387028957608848986077883422564083193941204441634421670101555265908049617421400013301180516209963923650544169989023144175499377595367011950698295548950389219925982646168643505339425165372287533200756717623727168878453351259336964396152749801148105511302884245484277664124499584100106975976731586967424858113936877636251413146791602592239198387117646464168298780254618249239449468225922548330195534147338992678731687913837911911375603742709426772446886112883521286139632682078898063174362719592700028144057131254872457236485653467511414216186503391119751003154579027936837688010636093191666179313934172106101632352569626882665729727864835602383337384603239603642874294529109190459330514077706990115654284987760162827929980538955394358333268309078503504662908048202048461686463368603878124912933247293042996983588553108846799320460263780122596616590983501184884790068042591770906767180077099775477902182283412727983959422412121836405603442909163881127038265188850124871315372450254783809304718945189513165523966770323664434926792780536261503107696109143171824233882446504671186380074409543694198977281561803006895580227738737793720674553212471875222860982351015072057524861349848404397050778538869585209351698517353594162596862354961318187119364974061264643856250511937625606080888165008815072752976552595370410303138135499539255112707414941927911783390595290248537113874088266254645805461504369772122847047584382538324734685484976726456644618403662974207930632167945841117413925000355224857276978202943634843083214636271318873585079916949564583217877741982106430755577335018218680375587966531174916237040450737943271553861689827091521937502093503594691623706298733339656358803031347961344046240847881437622633124453773363672286494479110757766631300980285855087047426957904990321642839103285778303358061864591121732305037557472746284070644194702368037063707526956644525174580987931723760967028140258710268131514646945287436773892152709570808657859701104634245966349187206382627963204929120996087898040083974346526263399995586332091170349136198083499580941966353081524830551869767565306747302643909611897228311838495845953621901401058922674594139215169401631345920398041490913938025626022839426800653086865414554559826425798730999612220089588641645793381882016414234168318675536074955715448319281930006570092221859415417905627170456584025281815563683152894290218054866412540515565820659847819773516805000490720939687309257399209625682824311984386538772862614743914726719428531149712242978344186713689198078260115631001098480518872400965510232898152322574892217038942700331855033666398317805539345851596802708325951964264823897960302447290882212715844168796318434654788913398025787162400866904602869394671715785977430255896092532851339726049607106246681786051081021462510955949487925381009301100104092222354762436493824977064087178274601955956712864610346507481395986432056234177535431010535751106380520470661572598184900049751297222858943833452702573262623126975533199178494053026927482187490220698093981143417755021956498014280043556878215239474373922275007487785285724385261654809849510915639046491268376792812292493785916462406620341594262400607520741068510011793561675485992666822005112376323808860202222347905885905950320599407732034459812184553560727814939201800354222830575372156419690331491993742128721187664489601422920966135807434395317233965155311774128314867933621005082095992613201205094145395576848768560959490352271367017356046726210486804998507990280146868253198951603570973326846271478665783055477902507863554292004806863050934140802220224123181576050161708518726465928296286409440020633743382529318146594507590695250069337951834790569090028657176561160358265400944068634848393861978951103130252409931860166025254358147178383942351964298434321390887785593337838458747048437783218857869330243342300207816599985919878221236160750114499884085550633164112015096753976923158479594867567931085352109475070760041798718095329690741208248320629502510165854200807465095842460440887996600309445343262965791269447726133434257097012078424662254332208004589352449639404820680218154017096796640279193061614735855255171718117066544424193291144797759135158436905271294414955338496282019426663339814760301502060956436962984465769817035158543602945564967996773583653610767196783313993424159767931975492881811551565313155966713301735403449746452483042820042265820654588471016574645558828796335863375650790346672229174584830275391978318356831655222209563011176441498400616770427682729656818190363435390337432347095714785673368988540041559644586301405830722961454067812310345077425852873192360056179135271494413732760986774363905600087960868321685158010198502871061735815799992707977057659987568123630206326647490107046379928695762995989253416750663949161150768585873240404750892007926668218306498837813617433047158423178168057573500294507285779537537097089037874409394310790340243310055404576020066530542443094195479692109365529558957815437520826744464206469030623275717121911243218667761683850485081591566300800559457204158094493291517364303354230602561083340592568036807920631681132016882359058613539613643121273731991176603027046239629700776209675006954405230755582959750242296345777469211593467665862032505885042929730350633072431657941151141028962401345358661420402422568232252226955240655566489530042163087297920390094825113773322458809436881105719291311922517456767303129472354322525887994475065975687115367680732070845168716823014889172023484030221352623311702714347746425590027993322786656438943397737713024352742635018437112515013475870483937976585808368068768064644390946653442746580269253027718745939819120598035007448135457886503266571619454092822387701804445278747189900472130508734010909850554841386829631687630227483794400792925921315339316901906124944659566103331324539842852005508150171481244245767367858060623360110957588475128909559234065883763812460137714901427661616864539712870266329218621348564098142911903544253625065237987713893286611165010137112376667694097971724547955561160656836707609439143953528135890059160357002587876095166851459596992655044645486938789555626013087616091433533090341899481047358651865394130631083185279487622104638728263806811251792050206162092695389988672948204822656624468467241062899938266706541679844204324875817517970677175363932954473869706646711992395071216152179302446053817951886715428444338227496526731036120551783880085460579701343674766917126968319738431060812138223359170937274517786526022324975542240367721760339745519207228320653218701754105118111178822563247780481925925885637401032236979071048178076267698241197185879548685948312012516716704006628835220630542598990471577665359565072434379638735135561801555040904100921920107080685378290764833549920296349317314451399876111405372301290391071816620624625851573412608913434055615638646809288055265565412450907754120738413505649438720405252813775133512937423173949064333777029912939927736372120114108013416166662561767566977808950458613434329918709160610329421743261602938714057375474606784980104747498665917512577996887766410123732894931467619852279685136804943705363887934049899296080336502405923473161771659316221321625041274958875629695612470133185503415541887554364839629935278505034259756815200852561475362417439936524095155561358717904649621443600199071383432583178783174307339338434491905270037011019422921538231295967102478372585640830692570350629421184879088082609072380435147832179840459231938282716405862120383091923728912838997916117367935910569954312502514021013854203068785266796864660125188691141438659405907884598628574741447776869560477314957673941148935051764764416971891767976421775604862800712415614504295937948170539328742431193086750815402520937591871934047004224037728426120242161611969975806836746006866277209366412855920410503970150550830262845019313109119378280618907640461201653439978764956522738317460151397016732269851306893874726941155794901259582007183169055825950009305847330521038748105886955406858930625436894265155282916878005941189767922596120892986300434233323222551060663410010935080394092827700542271520693849034923748647958244178437630437808386580921954655285759422818821893084021014988317213337348905302471278541430001397291999643845264413258096598983766540867886292722211810801924912070316789153474598243515158866343935684029316107573002514817330044234907103377343316295506932677668102202345017430754257404798088744692112869930194909918344734154254473679223134682294440734778818763791094225279618459813161796214679438161193410329840034467449586544112861525735172702978977520725204699402392459193797246206178825957818036526455302091436905321609597263914340877393317434843737956961203660148197563362160239779574402268653248108437725701616136820049485311971008819766029610220989927950313978797987556553208227481258624791717704268609859230587005016623056715212303988137701603391708411048662107681414328522595215998585184056507011876470684939336810661484811545826006167709078242933947557360152436648123864029671320652079933270558289628844189617731136499650942953812142029430287103803288321791394432335109588267330896928725646823725716911897744351236229051529693269226206983595614658165245493741824330786779992711017114753482089140406213568259148669358945314259444372475624050933435917340145596079531908098627467186736997709216566193490757990994660113719714742454132215234016320872405943339558392071492377407709447632255956804953500819818389825870793857545232057671076678405061247977747972100627605422683144827319467852784515234818078293860331073815458567203107151673746340908142381494610267807889306216685025635270673529881210649977079210487432447900655894642531438524371666602209794626284170705836003087256773340787762374131568223565715091639017754117509901442589867536968999597593987440803489961167829934929497602376073105046141227291841842676334890759786901116860889743915874795459082604365297607063109535943885350468963425666473528398997305049658233074644948043815164087117587146588334342170169683527188102438765016474372673627046822968404762969706854216799844558702303829319109971989919253153905193415596578890720143414796257737451023846147104570570199320371743310115287226879959215464981414186553928868869711558774194955928127389091465933892971084073666140065215840608015204795380981814401137054598759507054244648257868512165761686676967214124052484101360492394685351048049281818801003783822233201883066947966010912420217608472031018107273957520977488553405730928131073071555137892152789748749066102637626816214874340108639450591182610781394939406053404183515097591268616911861177833651378047435952384363824045353821226725022536192517559272059825316850811017203622727467163841571205634235126966288518888966182550703680031764685206291703224659062732971590660861368758566549398502949590561195125884557600714924763564211408603109755989435003375430850795724401823852294168077497810535523778852443049964998430359316653423570982453276302792043151830652747488144219517399360058599943799335804867578028025904702813131812514956272139209045209540388487164355587250273086156849493354093074736799529745117132161395589602445259113847206277483866739803854346725604901304796030283633252226593208097828472099467549874040440693407443438169876156092675623405803754497493795457020906541429835326298325031407337809331223850892932772115913315888720956174368487776117327880111102704209850164489640036102645834749182199282129084346473217264282568793174580915596933990899354211339943686496967590409525511845246749733789737540662138881682258824943814481479895323580449520280217940168872068541998745728955166457237548132155778736218587310181510902660334509978319960213392530305199631781882237647948107647538962069525643821147468662821488605346187209023549507881458335663169106694731144855154183856588064473460293225322541359277459184715584890120085256420186460051925119337908741091636810332936082348339883663574770725079092065869949822651834507293041161723584829019758419716898202554092248124433911596671547959178349731035590400046379416317842154958364844470462797290946411158312383436170118670070424119479819038603191752769456870848968602949929979316234201676263776457068185236873915942969312821511386688663537012292401485538980316557595558105290923731762718162521669300591329738565229356471322289696235320781936564890656934636719074234019200610468775167544924115054089090490318425029653417310746349823669235142441798313427960382375194244611352672064883773551688064701700623012722765742397587540751114704249034466693853031296066748110775243750358883303066635468334297828282370448641515743354907978674506828506041641376304543490761085199204698244646031372119237033253840581189059699049207438609211329997833693125998586184832305903600839421517345577032971031670674177603680885342592157673254517880626618333766027877090466883089818172675905104784727085561511753549455613829344428026453011178324372187951997765973612512399140659186059855461584463151191199284766871292877995609561662285784021327178035843507859730370977601578962659022902445349059391571490788242518394147255498321445230680597319390696020228733582423193577033607479183952918747020295787682977383884894042371572800950025236781079152987892952838965710968162180397680770237560911340765501185283008403946206995844365387386350651348520293408946512056639625045888790025373367462666484527200155163172078821212766522182465663614227535762360625684290198494287827232675112219250069781231991855753813059229338924868337886804352376427547862274140395703760993879496659225196810836841785731458281612956751895190899512704656785535039322712424061983295968368942021920502817500934775084306140616713963912642063486419850204625900852422929653238597038391405182411212327797162377921013085093186312130916903063626612332705970865854340278868890556095040676765568049288871185094635192304310927403299168304296601073774129355815620214439817106278389911652869791747465431565977569194299333628187781734398174686813757001405381571107566332815339246676247357914382399488579466975046502162654039768181332519953993579488476210547493415422300166928362306076662608566115377331431302197171485756402850534553123245206484170895768175460936159259795581714042013398548155590441182480307112551570916300034503163822274911525397619585074073158225029832520286482983014478771931041852273754349959821994069843974065694441505048473926000867469278324831443229427164312108740988455804785737182371847401075899755513788070281174463634677423131031284194222893633331452018549893910893385141583909561106790809979469530372047736413723234354039808409039788720578482967172268675636747970280345270514236016303860300003070102230045493627186324013902612250057304298623053893354844851514819653921345806533710315140175089390558414248200154327303060959438566809053251311391449432709050530996133800361791153910996601641130589550645630566811528069077309469436024889078900773699479000622716111845545698561945646498573588904862048217005089805881159397761874261291357021265425121756174815056557548441948843824458671150587390710916927108823730396232000605004357153679663297337444621054714025871375586928888730012991140363154504529053790730791919458223884779479841857233267488024976422003452165843364398086830944357676854513045435260751770208339566309416468658657696402183687766164303825054283138109184184227903557584437547338210361466478619423945269073984291211054291466776993603420753033970255275668855828220805930592682555290706908399418164697106614495942087006382495681789964684607834622032758273840856737765703538919056519053791742473508776733041531162526918151645640185812102478382758328381798179625784874671641906698473783439399006864853697825849862594674833049909492063729919991452167024104873523628517087070439387697270450898141963891888856420173258940722777938109113040487859741375740773958529437819921610779276583906001156223657152234250117552569826023197536813045280477361945469917931887441290223195713335782655743252955783873810290785763066817525489937228886982427121118742752215479235497660331954942683302278349656448939155869056447011846675011867670916058349649055520037568878703659447013369248308122985987991355247940694687298830316637016740660575540714439746839820564801276423083857958498265675369201560348304560848711738720816984677339471951491099510680879151488306530774011095898137053383681295083230035480356491961220062825740659377599429591736897222359824574465623787163699994597537674751937689743998121491069370033142754745407842329575852967278823613060456731834563359715371999746866171210862840541995036091630505407680367727636088129191694013904763211689692215689396071207943390155567630398610991493367225050786484804637849517476141218732722852688365728291202295707005242031886979364032953755801128996536648038620712505053177460373462604704171328683137131072917570230441573543272008164430391846088601397419725597650093295395922180199035481838966226685063989766220225301253283982018036883096833497618014362514842369415555637039809055071619846735201495198587365963809384005344750112690764824100824200879558111309355572940771665912770970384334884136999099289272671789673012039218144165089423450250154132753031685668658890115761064859170493479869889735150811134673476145206333113456128892643763549630760912229381235130061808631450697297475062886217534626235891720420032705667272959761066145485360005777946006971334202677976665893367832972701189618266852523743330803013224654985888652551178667535406059579291538880914154623229259639887500391926955969630620031461677488597080541510918747786555973024284671907650781507279565342677757261385436880718805105074585515185706112379306330001794020188006053548582516472465018619541514400060028578336399779657047104488745288853615841097439818249716609357299310477216056128767400083433166813925962752221370663010990076014203807204978043847432041420659068283171754425330842576948779045627452232308563001061774744746610466307703187977047259707958038189979671903996725565289785882364756968439341418346540558841956135826385933027884328245664840814061620116605834873120075701924754916671289598481559064518980391068393439136168602586269134237421545352838864641510036119480819260940179327914794169939686850139765812692427710743888798191675244369346592494176836892672756268430464570614397931230793470367355610352231207388041375818020897652220638862171635998770052913386536726865703170947550688943345171633127134686356905685230033658047171271748632780311288309374550667918374952017433670913225799002618446808438774392208523292760594284712475268162342208285821267625811280932772086946014788522057209031739815470430787233385221856162136688358756821995344669329101335913485049989678445519248209198011916208636379368674519382343450055505444755923540444079542651809867051805329433098639441870620699487106893179893421968369936732166285069304951002153643574015064495580768640275822053926107341317681480219189966524242165022597171854614167754468185486086697054640999882297951382215117004147871765436171239908717251179942711308898947533195032312384548841485686581821892861070362112685748123855691383757248774314251521344713017458275471682376675707999762089579915050297938474921474513492569165376664241114878515882435434197729500795409877466809634157010051989243794896324318277381641707190385401695392652017042340704742440186439288722637600496727877106439242376446550334227482902857982616050101375448290949029920248197406182994496452787249178201012865983994636736150135565454813324304886769886895287340311507061167398057223959081915151978791581867436438541198885089784671083124577706037995803070805799399458837733903564598888550963451893544738748178152415484153690459404611342899397834321730869706522770946566326815667602190914207853096361738983157778779157820078345775891530518573253875117769259845046661415829031156070922231084312972423013995244409131295918939062759196211149731438893516104922243531975954269851569151450474555786307895358947517020419952482987301468117513901589559874742959212641216763598965239844656539111549596446086314224440827071668765275117610578747196453068376111033127099870984987501267266813331695121943405414296672221071356531038224011236156287266462530248848538198146207217554518382301967338357156694174147211765045927395705295987088601871361936758532324276024848195180094125433949849683446494439623606170647352463278566105941014822023784803083233080074143879206932572485173584655044717327591065980629637700446494041737679063764227200468725025587206538822807670646786366818198741796914789737801411992875839675505439814299704421518040447650267163459021960982181908313833361842364774568471151350418472065044558652661413513672952190649985508198055750451378982886691103553242959079741691445557079540065009229188616206782800136796054678717679944716858310586893617925493508742732789798088636506100809606527051363133586394487159537422265093201257069991070141002501820134356820363270101121216616515163397076900964653550317855578094313235512354890825728425275389894659631399044159216007211368322676895116064376063584231484064757130199600962642419971805532469770698445309703362647035895290836074435877928048057138043499294005035026925000655768853081095118599993723920695964752328010016413391413197391733083079556010179053119171164761865001617833966367922308597023696841535273862860625906472112575615044821941695494059193701304710911443057770815989439736799781484691130484506216871792334592032003837924246091572115365909140745088042060157805996449928469718803723967212196138702415090485777262699270488876071690811234991113428496302128717551035566754387162738122713110588146238548306475680657279396735954233315181031947302227154962541136515916821421766920096689606518857911902353162962117512559209966389357042857327572740151973226309285638641600806707031774993118178350374250932979070424688592306901094041455786399398864438160161352634765165266114516252528908259525153026692654155712466731011799786180616590096081177389748552576473700042117820467658374362052449409964101204779257976753956244890783462492557042033820409580889443591247273433056964920624099579390227386141240777927877188450612538477729736576152948666398181919346839683007960750626452748811757638609287321202592329895308992540162363019107730062690569131565502429937871409269906096213582997181207503602786848153482641240242044634271034804389835062086114558055439419885278684338165800384395847126754928934714898909646369858568881467657516568421622807638770381202261588384544827287546566931592492341328263475740315602972225310266167782196518747899231576368099578811342488435482335722909295618388457389670333485021229604004596472699113903488708375502374662825038470910346321510010899616016191539574837691024854280840874897505199263953906362977164731049335715263215616298293659274724160569013616920767670404696567840799797095091312643157137144927402042447868147164446783408242173410017110163243301393169087478750745594036104352282398970106600428301130450555714233133925657964510462578155353033140822487086022842435558713835926773120100426955849816599069798498281970911204024306021559021423310711032346131755461454537914939578197688321636283522857763200567342715212159664353435511166286119027768875571290184198786271236278653662269404256562225808698982395856175675626380593346460743269812433831034323856071432459999989357471848970619317903768774537635800752279384049936772647317247850290124914466979074667484897096921065766342478929457403699615811587025049402535773566707707769273526535001054309665200603626557278586569290238129538017371801057503307063801178621158317857798203004613200055704768708650679622664976110199297356968165710686196806317655621786971692561135734815546368699470884385476357566094021980783952731442901629438665490705337980787848907090977253988103268559371524039312966605975703174935618301868679683956032136149865325820845576695292179050549144853845829898664876863704260437136051723803755622298398976365247476316754683650141759699298759273029131896093627775838442709082930586987591891835000882288730265710661343539857619219377228125668322734281851564453257052437471143140893014479927853699976207854700931297197625941924901552449338136641954800665886950151226457217359824411153687038688432698217326441433686345825241461692539564315163241783313199740575924455599704636619396555746849255651850422387083195355314981102986420877171311276896486751235648417339487072725107476853560874879398698872890867147752605542535937926820961339933213157571667076957936002151595827287814887381234070388514443066141556056654144210112576551609919966392664244595196461575705603837481887037095975645996124866326845080600687360684114932653410365661430275169048715314590005152001011094030334299105909851427692470691180223467863166833550661402412090933922588883358748208307958734354099384217953206958202013058697049232972740356986061380170787024616747975636628808447316594910511641728725281912812089206801940439926612770698508424917533163612343779039971747488786114359431407816295716636073776398662341651332780922616472268840400834553413909472558680636481156323681452903805398008298603023032907929267550178143837569735571297745459368571583068142039541372135405128845728328113518790573114419672661310933319730139646112121735090024929124692454672291526082132413603616173583735323029227420514408407541783705071241395290831536916583927690167274098088941636278636530121703386647725678072415758268693754223448281904939782781642414279201218778266199247233412462273826460637708827668641960785147543235146187070000747350849234354854068976150516905345611330845971403720867053343860590072170733865668176752816489075560649000202670801489564413177433137030350944052876366138706185508164259824231028826050806410102216034891588057215702123474437375315488624010574967325752812004553717548762029861506146165009868622467145198055936696890248776879738847168248569972424751673353605882784042433069869314251479908896305854469308279929146102783812037900685311082804552732024717921657133633606384270178087969345656343040480825580792481534850340300131938992148063348201730418980199403548311723620464560748162309400692833161730684425121316388107517433870504878171431560113362001450174620332084218178724917114767337179132718643979445462923506256146500507089342146495280422973660347553647488368231857388961884781380531610339969630928505302976989001420860237886217224673766976766282182673092309098314066879457018171372803300016985911838397016909691706945335463473019539422105348006477114448536376646843813320327658064027782897237967701338436343183797073375667344911259569632905982408072133557698160112331890907977906454594019091264994260816379344456485139528053180817002255697684657712635990381449107314230649753269625315805535012441021233646145898157486747763633937329038015186005755050122737813853085326793400867577099526119724831277850177314708118583377459689092630228680212548536878188332354301481346063239377889394928717554371233997359114739445664888739052356152217848348224908907289774694515025265904829900293977951384562550430353951885279666905711515753905127887575272603664796057713096406778152547068788453778687736790624388855454392851042293885814032707958603975320576669280885210066793271105356687270749308411278819434730687390332969165582196393924655052890924216861642547834383510791149522435340438996456971214542213498086621970593050103986057479096419963281384710318155484843095263080317860177175319901228270261681332651928226754974536510441400984170076655306968127016094206559968896402026741459806751945655290371872994215709293441959532200201162684517870958697399461969717676582575757154827242463260123904520659325208623966543940111208051771416998652288424258006423709818878930409012363796987817383464219443339214691954515024417233301655309004575968150477442129756799492576434675644862207219247577807475077665110434538201794515070554305590762498588302518687149565588005169021350829355778548003924784310989940128628294661425774990983765115006671028185616294669956318362295238130018859612006945149733208694354656550221056969184567509304673894038212063398369598874764103905727420711599358117791970499244584946637203137964404305687538228027130023604217196420458928571120613975012756882929943561970332338299565051550954288088094885631976155384168863348000671181289366151821705832760114934798774461650645314877540335872934081644990359809649918505578396215130950135274032689169008207960490075299133052579320077692452948307897566194994659478072877848629171447471842106832110256207108214149937208345842840433907308508189790342746858561652610681305282141304416003443219655570888442560084684241694597679431120623718482489199114058403559454871799120012889039544899122160897414801093586295529869189531727460374881705017305787713643975196687114911995506257222992307892442624715197819097872357157756631052679038654656954637902404128148927821386066883121840561241208137109367822433305501797404337438953269316788066396248385853933308327504413311251095985870612155350892922760352833090909376856836845408582049174605290059833981696055663411834842578668999290963794251556354164400746720893916258752634696988826940504920051583659887714345422491446970773396107135035259441773446772500808786066043856748664046566834727603502980148929361788907131461812631835598702858989871413596227231860195507598853255727239827421779444493822417463806300922430403599986968355761194701224843616555129504426253000267285586628381055450040568930059658359901894863454554424777475500595461365803787488874277967010378773070692109177519281638865068417543769120119725557719148570328681910635740847830111186207794715011573238184242265622801084829791833623361334973510996079700392181879145200642305260400532145796742832140177079804395534205639854772195087297998349386384923217540324529846366339171511373939007303378635203191452626968048338315085986632116751417462963864529648860529761247407162740717498502555669531835762542195666828808221189639149228079714286562759585681510789523020903578664734294941399064716735403140423690834619204773423665609874933674690100150641630953828458285835055301717558336477298342682763419653426949773458442920462792871147369344600187726547964385872627288615897832204432272643439680736170335913705681955053954618170854972800571547380479503075986555376441174595266064488618653455113364132984725582681861095623673223534711120069149302594371713278656974842617833259655608408118743899777600393836939451828514278584271357845831017909320597403988188924866883756361800547754868286859888941100223086993933274252875174420091057424891829373724406534087255440694434983713186042765462608324742671053296978250241712223967184067283409809292298912201380708763090823040257295087067675721102954737583372415036114054638221855419620817077565351499899648407716654260857352959510916854047517418200117665090396535585331741955815413252129212406112854410483274953637507940590901378906416702947172955731898099338743098710142943219185149797116303637860926180552679906404330980402521619736460098165013613235956509337869961531262997343904636854672018470955778153754831544247398546273755617218237818331234039550766486891673361658796225207394585003942436414300078265966912603366189838209213502953915141721201802232311248180483257808822988398648112189906868038323280130635165085281646010326630892154995479404513468224574882224879508581876648511692204130205881444147149687202258846663179288870516517030489952247101797693422353513637663752779541160147611653945464865433910437233193048391247818051424030564077033026990328083573926195173621592202685633834489235480857594270413592503744768995269484597781684304195277894727571079598852065110761579032397302041694798234372153786231864545665982412072486533604530344726171629100787932850352295235210449979786592836478960870280453593859432402944829111514608042626705961903209883952040508803738897354256948618596415865069310980808613068252039602171649153539942403996610230527208184373738088350499540068513876641993700556695009545303366559594228771535264069448692500638493883785003792017003635825890256827401409041416380512652505192758561203469884697089522988320096960491742401231841400709703319534718576817732479581801259028103258397649818007131697877256964791307933445458678761793761122877962174951225164236296991766121623781184022279752079630185625440816176409565181721113123233290532232764618322637378902975571478224451712344539824049142771697809876502563804346410060693489430262504936264601728254591089085538147035550295130740831281065072027468647400844768380002940879894950537807920377915082157567990234778963353740987698578878177302751608746050119704589450270287174066204747000399894786740280445358163654417943832935582078199604290832591525041433546700966943980958674323770697511436692021242960077948489329149284282798356655169914162445059484590545008261593547168481174386699610405287655716446628009806276373219023647204655735136760873219710544020061676206740371717597325162099222763311429791862413925746772441261052730821130102465560812431241338286023027393739649869749314559842002760412292963068482030364723456742996418316415019277327001990481730981507769563596580145505185876161086630130675424529744806773408045743253213394192472496914365717272742064587611065768383642833522861874135485491304329466396682874211241176159350078759728069892441563641003740585734515555443588806396247028144884911606474553173520904164687144554712770915739926038850166060014535150945045812970195154676333770905047046102832107377926456320088042805367885509119844640353692690309139429961305548723272448573723712353853633436241831516975997649339569423580949443064903452819254427473378331925989357651334705027841047821217769965092309054538044380680882460275554603410533034996755321952491748295228158090226335325326445114862472505973826784488660873658296877340416041746263046483711199194152588460191333744971718670808262590495244709603796186969788728500312757126507851889286959411970741499626209256154644049463366494324090495770709483419631509863367091957628777363662111447676992373560680425702348535153723942986804931245844053564664401707020214218872480805617676461955826522494401977633138890023036522274312554381245952890595264329938741512820966359830918530091836116393149817211397983933944955995722615263674215374666710382186628961805767105668830940782462943174022597288581897427487083372240380789816151332224624209383517468073766268957924099496310288379563731588316983655169437371632603012043192816250534122529587437548342909619227139238087578942631831499386651189672033471680521450161755960045063206903576126127359369047285449065787984737527161363741786806850313141283173015529829788239267897010054922474429324102778287630203166849520021781273680837162159812844205343871741140637564725615034725779497179631824732221354738545974737488847023204525450142955998087854846926854179545027331404165480558649388525668324871434490710724891621128061841462608536732494827293170010689496513188328357101153890121102891999238310798464287430733864968550984376283611528389221042644996242178905379199518973249384199408946811894680607674709032478636613688392142043509890061839299080922763381125767970185237736228713645997310424563839007307830660512005092141499335414453577365775503635051924793729861096418889793066154410336787874434697187371069430648906025924601303137763030729918684313153732221236018503665798214869324080320394058668474429654625124606818667398024948332919525948720650102277644066513614928598334217875732120069916589247201243674535929100076814311583107701544554591230546782503943095626634121466566706724824793820981291167449673083479419282457128832318039284324360776976905807692180507559426468494881248063683413305887836807523229734454009156798214403651958810570985646376778865173260544432126662420790515058348421884223446187971484429079314122636954167043883081534718350750317956063628572361557080040566128030815568035081692621965387235445151089185598207175907816633344932720146370005811012256818434993135426454734613730631630041906658733299730095467692899940234878093417522550375956461524636310586432763363701236784476113890388958916202512056873462158198997928731828460303914730159572105643935348518204416358370257776941593363368403579197080816294888142666192636927400065314717937455367246901092375454398282753704637741042099710342584014126640100910447894035993424695902643948086992355853784245322229925825609844771675336788890522246201507782335096638316321840688891946493176228304543403362894663410530132036588006538334717742750355515412184940994883979435850246442167515184434488007036122536940682685926872718673917423443949262682433481061083169989272217221398160941981614470342380543845277421382385748175201433364383303574755848034778197871675057897107304897363433740584387324771374694039856441314441985202841682819357617503426379024536475501160383526263215695905721077192775504570801181512882858998983396878995729109614985386172138594567553902997410866132848967813089174404988630366359507693489994905498866276856633137542406096922783610265061044306007130613048211214837596928013855633983537946790309613726544585764071640540747273534532812716747717752893454065824309271278930554064085651661070083157996772485747378919234600307810999864128958011266765064055688778421442511820988511332001126694634231864222045605809669139691475891039091973147500201961151218993723280033071680191116758753345531437863658190489773010146500296215655046962484057641999941200360123139107876652713022190266865647732090274367990447078478879001803279652374006700858842405336425827911796738154394162867297985268431885859917653795777759286248966324159472461940471065495111763117010001751699510424797010562570263249436167310633737956198149771748681354895512864563642716412346361045326896723041175107439614279918369238030961127033526430656263508396658590525571504288252962130634047238388181984117799991525854418295064654379361232027221418927913327718885821896638526661773463427630988212246607253099035705304240446895131625988749240738823602034943816424187912938695675337894051176775381982845277557145189212104862632268154520185572891205485857037015096320181077855197661353216953933496129543158678156112487317865298284330056592781597109108642189630702433798640462595282727846726199774411541310810814448868703879985465567084497736578841938097819418479878241606015296796044549776396258432161993106120828861356556538984841757185888828309719087542867614236147307188076336994628321129854145530689147324111218546954893674374415571636912721130211009570895904521746631459783213791206625406057082361798388902042577991915978580407594867397284121674287665390689437625124001970411348381675760473312071422627068553444640651358915826712910713218259097738263418850767773405564910519036146078228428453036672513670718129142491865946329821906474308684373799259550431351640211022586583412695430969518641243698626712242146936146127779330584854995432666310223511893590867328695095076597194273391634823265720693275183582475601968636497264501480597396151957097197605774590833723510458007393837866752303123575260934884610137159501968839281383228042510374812762184807941320295406264507222835064163609460717242936218162997749278421333405921669647354031769685705163284301181345724367180612221376154705830761419920074413041662877814986867462660920153801564325196573782751225516190507518038704747095593324190674231046785917173302798192846567258122186119325405521367511599988245771081214324202843004432052691055600305514214785411736224587160159055227855990222351036247854391039810654907443128479639223095923734684315722691673570950372960552811401883453491925356362358617647859119221204901944719204871751881452728345702656639992733251867273511133371316241986091143839901969489246276757740528736818248003288186006801627443760160924434560975060409974194532718171211642263307446823160143679432978942256822950012793214880481496760697329003023712576414575392859100793471917989309568156097774491493804626267985634913740301390103761836275984670038195935028981962690190894791671479073941893130842651251142003099612894142345452700643506094295626727010154201614068623432785444913654798691019023286899568542339658274372964112400327304280733289724706679893810256716887964412657319998207943508646718015990579860356052445334166299238096873613153871719684032304761240608288732609057366141280373896712360859467410065466095169385695066934373869536113304278558583334020070889204709707151438896002804720373478098436808922766110307165666949054307792078597117716559289726481685902689606541054172720115948740267708318845676411553568994624757776338061360588686529681748784790217838048045364075931256210861005021204526403543178852141423864428062698111409325545848422552520738114709626619949866076757500929912855872431193284692532304921001953973129681600695192833795718779353688841476021825763654528499550775620120228844361870541026335699114865412025204060595707628630100034057324046200448782889193900920736297828303098037308651807636665896356216407410363502558569376304207538529848641475121907553201336082983914838028419252961160004550113305163645392609897489228767284563858055989894916433298299133059009497367530970684425204652770162502157990194548083085494362007750241924986632448532152507269856590395872920774797813620242953742593128242671071377499589571527223679481388921382641427121757960717660503582870969084119609588715927637025423490520229293278033140314588950607431769209577715161980483561474402398395813392825640144264847323049930757763931206510773099920680546361790416049843478479574063651727757929147683797018796237740708900702097804106041830448375576931789978166459632169766493204917667285497299652369596172697601822292288042770880716905266561906188819278774817884171124589932531933578207494282403722911618187753361674909952669746774541574750417281967474038335634071986362279081247414148304371505585543148945175479788072690432817581388643087310050198218495664187651124335250591503619780034005057174476890505754757970539037900156258648188932268387533165200075419925793690746372942898268483906298000093938355417681276925953978904673999244107577853177704581815303048574139130960879078930641250618532945365478353135099107662636717842891852837357524547895699314026257555582321267361824737085692584637641725836566224385302214697166102244860841845546905161527519214564812414562907317030366692369105563385743256164027559229110458363217797941972039691389196849464345300146203484607169202054844200543932950298647570097764048970223513298712116578261666031661294484387784306155869127312066994611738379718985423329481785640159794229215303602412349066453219060578702326772891345211217202406638933787895221036007485489618541416462694549502360304958406650329209521621391159649488909815810482311630796458517622409989673077369598103683059957231695857679342665014104544141602054268642746541806657609052802901430862974842892842423462615314292282797242873476468340032994599485167389417783063453045575820529962454718109428289129764117974284945982439378848014884536073508303639768301248399534408164432721494294878237180113143668309318369860141998938519655210423825682915990940115228542502571846186560005668278974218423734944793359740573553742280158918505842040650734213464749586406656338803031750619606454079812459709671261756699007150842536519925227922124302013418257251603180023395444648365941917269972493677759593366813325042847963752923002688373962306797688607506317666993433360077030314766861006831101773335488237821258035082521489134701367536814364196019932949078813194390914343812514319144296250458928321638533027400441621209593552824957875378834079035847158914636909170582162774777290064298011721658203871820535622937588225593292465679692028331777435270091697713693610536654955743368303015262850907656608654535573343465092688763822413264520445646365450046815066065573175619973695122893739377179475415171358076886748776983964591582301227434882681390891809885239935652863031818654875729222109932908096909931322138149127717528909716078878284669479430044951475040415326710776185987233518739495495271314187205570769658467993569809782293351999303601613022713056497888406225572921393073241049823952027559908354295749519278805127743147282596529504663473958013798472556890171965969627834331528700318037499552942069907433315002950496427313145268736581533707231020409896328158451894178539335996107009646171051381109381295958211471548906178946000405996458414872282261155855756093136883554807172827342980939455120937610397085087902456896185296500659299784936398818729288763497902902759375137744076906182312661241242187550682465415201984517295001306548722674075921279999921033430520102883920902892701755480743184818954380294802379427641461125076047860266170669631295014100833486723194921862961797220351187462299128467297132178130706858414753394164350655742874228909321129023177092966795919257520511483665200643659687516229581096740113208479942324821017387353295463594162322904921226624597913145753715620750988544932790837117398678591928138630180062869405551430634930408937239045835486001918642813656723025716211325384218081566908471255657321203282722942161271759686060009708533360060732853938869356305834164046207502369915971573876969385570308281300892386352819759350292711720070334815329243951139675997954780673557243224890948992239270372789413571488674781536711445724994899954840085038081818614967523459877588949599998016056202843600152135835878434583755273733829645208739701512925943811447653124975298499790303874193358034301491518658406670300847306208344985831178139410921565578123232705437660703562250044105341704232946165668990623287553677998148803330769313171114563213993783302983072603982399530182390958009565296020097117676579123220478924182530452560256200843894104876654813333763777626508100774907529513502765435023141876960440568589798442653607302193276849506406328740426418965632945085894864321274551143355591919025151758636531216447633942624352228328239485648443783272835240223090400987233896528355325805926340089665476294558874572488037671061180534615959029094285185426616641867775285340122119250338425784925282354146855228609537992659694473045186374920241021641788234030400917446341776390117829507054358757490156064576221485287824317753829403784677565585048501189415177498628460515554596847550134837160665780706048690470078970876689546108670359093366287698081321824509298724537246086402098491972609077556198511184902934617299194815207880973599050176581258800675430762652047166894401059902844152928630426517786690649022944438690820389570007100814049643726140702195213015341771276112942842082191275845047592029538533267806521668357388521042698614527528414153854998378984427422236865916853522779807703214981566567425990786510589771003861777264723133815666075773986389816418116827322429328470964010610873914970062018717745187581999462339714188752351816030912597443275292980690307290884983297682256924193124904050185963947785298297365888798784222037579268392376020316498055160723177202976965718809850533753830115846903903687989222748810838262141563572970196544591167302017104735310782002908882053879287975380363997219875532774743838221225036748095574431062722813259881609449028380444779917916952687343107792969590232434755352836935551272026117479590113152174159268761519706093380219934298251085420277384318783817496986140292097806831600918804640626454501254233752623318138490106375061146997488672266807104642337603963765792808241415313544935632318005318609872118935258393458752683196093623218290840166736477704763870640332114440411238575536178429637693541648904836318652500994989165638984806426093659525961666335196033591783413844981962785212691996606362998206653380189110190248658944153514781787132221492100862900798556853629297732574027014860526511531207888198258131729014352921703146992030043046483343869511830485834739442657742522523194478861938497382723237085617042879373132165905258762485549461505307374302541708404345674480698713480923653783058718928444545877369289090346883968131693769759620202340144689424810808828974831373309848864983592063839934343390590706209839262299608710070727617988857149373079601963068766906452371575236433234003996710645074108946968561375428589356979955029204121187063040378042804682088944591251254791891503020329727002414797953198148649368250008771480442669920435297343282132059608418693876887176252740125057396631551093687604439221499069329061666666816593497096617988745492878648196006611243042608307583627614571242410314575283503580143584080926858819771428355588423699699104004985091684083625380292053709032681604221654512950818963498795680537195753328202320538538408913606243203681280851160004882408327719291163155790959131789625152618916444012085886466773369164343032396419342701031016307827865337470713208017832231239409355084739833931047294004424330919115370960248113880202693463810597846653181059114021531828132527216696839877499920265647671354697200703344336729143479333204810053837630308243466937255485927888425920919922534578178142099567578794300407644793783440597542383416681666467603264899192698688055677435950346746729550912900400193199055348200608095459860606737099989572905750962829080168466590289094926748475550351299101627549874668001037565986733586492508219068822520255564874793448857343550866425158750202557842354881941281450683058071016611927580575451216564507723974279786482360243254556386866491508508604276987851345771703022870092914113969822593709766497662610107067652849982950084957420461838504537070850726714534261654000238526218782843238202685113243624980890363984732740532591525836165835553101526137679404869352238304407854876131658285958769403599615073842642323293602865133853975771453014624151392245151243413679168706122380312221541989332874810881924781626587836706058338640146744685613222166497435123360258321938404152546371693326948046132109701176489318028792836054913817163289860971229765463688298117775605056798725443557416729927176913879982925017636164974407536442852011530483350619315865088652229996764199618128789393887545934425920386425370879179440735852966818009504272385589160763087273281542946712260429340393961350635130981289315958826170896926728098815017938074385009941887785539928022170241961676937076510070423027879802378885213831395270753442212309928694282050390748643134049401035336707529590013874311834219102271461903050440099661826205842863866466598079072571326407622599570995560122208514802843888357777565408958815612786303599597036915521460895747621343526436291433469904758847911617859264793712246846644143735794420603024562361959122527641712010301926238487713874080524783459460476267293099088714978539992344703296464181637669652982767256417035942328910323340503820281058010503651591044982433397333662272956250388577238546549473066441953923646520065346558762012278278463185208270545358016600111217636623439215074210601286467742208740886043420392552366275683903108816674095556726299864523514639093981121068970471101844109359665138491933738366695760598929824132516145930800370891182786830190870942657010427644748595794825769773153040225720890913116494582788378993282694187232103628749447617784663749900077446284561417759870466532308660421277086862991917040248428632981318159064416328982467220404133766622054269698656784957139469827541995722126222367067267849150403307389711999692666397863011558897900784779722977940803535758134255375773617025610969109580482904680678068561041302459841662819138282869573157792404376756880626278969691175845658978602415285058327296360419103550187474608137817040332305413878144289860113077752456511208874685791976669645204772278515200139066831755525764145364237838243099999608630317220953696226285000789454593325243298356593972501955469672257213414012220061418215716499462991456163184167156037428427289975294596942197095382113379295711468942951825293964851314124905874778166458508629073093920171839147281980737362909066638940501828666239395769738449718062132029549113466745382403843465225512287294084362496697367867149413088873408971981575127769590340876828054571078676990219073828900810927059386318883569059248157314272688795571745160658574317922442658032789051684895366349419378560236164478376545250946357337177161093963735688361328245238051315064105995449473170361428225864329249407477113584183693486871318554724111043828352060142690705595105240419206985716803881324505373736143021280043877818768485045880140575605004133412360306381281693573177826356703692148815095119729443880931307876603535740313218561309000857089423026734687742584512451009286969256925600252110309158474514432746842152883576147399935576161836027129957544693209050644614977404272879761011196145752365027739695740536096816971757154443881115097571848802790474317604925630353739279419897030517785110629479364361555535125433488307124415312107505233350073602785312686950137483423658752922189797752048900291067328564643985227506502666919841954033970647047312606806723823482177516813510305430958287345250938131054301418370501723241526369518804558894940138582297626250683914720567070771384419114288912610182035666302309099737870091454679914190054171606754118461935142094382205733934651520900138928003776719307602630150983985361462599561895988520211910321424467194178552653082708072444341402663414478969853232577683918619272032723006858922674097849963045921180247595445135470340012765653571321087097639887079388937353091834364564193526343771684129039894447014433967396279569264301323286040383316866325403153573985078079504200933135243438889903099719567257693555705996491506747932494760080491272857796206693044633570013045308596342445709983795268518335259482436248284413877517237205657086348771779135500971578114988899701693304952943436824069288287171070107644008684544123545398488722470249226248879595867831135553585168601258834510485304998191264120309805342479506146001467654974060244059131881715584970992342568637353337509436581782824036517478751764218135898197665209221960426208862974593217803062736513092599297621835826057124822132241214856387324545107337819178161652293813481714901575674055092423965420692040301544015740126791532548283047362006634534223360064479257013394764223273406647861385072856562781592329480782316146384514212775509242204954135394099252733465577072545128704896732746284021847415146691237758262326723485006426988509451357728423786497684537655693115105313556561062542097074182562883047846054513924311077033407830331820774584141831166105091539002928706439618133392970051721089650083807510876541644267036741658298428877024419387094705376025961522830391902343989683679996458986690319368253908411580490220818730909242768724848872705901585245256937895417360460269827257370457588540941210013268726952788563860147263788370282642889538627291346667780239818579420185627272802145776744981846301439990796582305094060807832859155338855947500030782185282308854573575801210028273663264425067765726158406843152400539975742334370657155989360089112695581653142329892810659476096289956138773333306153049055978723584067786398608743812663817059844174925620442608067584582977271816580154965008856663548631242941148811421677739312214725393494108210351560654347442313936344591672140706185906634353505876485764859788116251997992611617614744983044728790317764512261871709766459611726966499332573780501229503720210604682582338988174390360225179297309039332513916863982035151665940261312809512204840224127300576052826873993494927740205411166555786666529273527445167249420839643912529470733215197338459046418526356604861978600029404718333367351307640598193370533293392651193034315435494564415313482193769589013618142343239298131323607405822769790739014494479369109929553475269456281070629560075273593670054092963108203420093805149368253546087120265196028103025902366845392920537736433986777650654799121885429559387184664119204002152510817428518411470457637318549970204408241057701920098425337025114934209802120095127993385076432087687122622381750814487597993669391258757525490707418804974142966868811432300348929239416239774658669220287637631558757132962252101625118752732164303800901740556997254967390643938666516767245733827830683891550694801929285205026020403952185364831031626627766174942242111932589684444528033920305258072509545502717493655892597013444857922627925705184722926522478909601750024702114063939231979581969214691127154172027468653532231661890182763466756440821589982407650748779967501870021497156864201822688298075958234338194592836637561505323626432750952488155885251384776259135451936103153238140765731018997184561995637712672015221238767187873473671197339302597238010590721821293486566552982406347833221670297821305651860004337305833797666939255127183813054340873201571584244712424601235235779076804878829914250667336939311532735639110694557371625990111135166253328697524665763525381025792399590516024030598330855200058821789910368199752776195092158078170913844062393927429306953099401054338760189057900514551491289354109414914116960885328870329936764389624764510522086466453178470938018885697925419495768960583511117218866566492026378676268235983886595239341790993342313878613061245332966092408530841988028970296244433513019118270201304796627971931374409110292811210188260300133071458034955689315293416549025841096217257994297985319505486203895903233189164776574290084474069671547678627801964467394035997568684341791530921885827112993352871415026987715591047349129064289514113012784923211770162509652187242173793113555493988396942218549452795121817092267070549674993531571283094680475264231341916648239819745822742793871545505823582646260295561184321083898136257609691254602231504643072162108145611414074962565645067254166570387727012737626222360225931685690152819058166040481078566929232488084315294060002968999424517313738142336706700815418075204338885798238548043965970043552436547355781955094475161162646957143081604766394563467711198526026812576065438732259156626536795747918448955412565789061096108179406570638747846867356856761441005029140359156307491077042151862022954267814202788800663118028225430817399478718209482997740944999641687407371048880243974091697340407330758456485551928053496092012241420163356003547386339991359338673330146457200245321105837735475365295915269579399142192521991865756027885331522698461082734311999415219884566523985599034382449504808085800182445106182156207329055144552966585094865929594824143605261080216029713766327760437639903813258584286403613707677296463392918360031083194492803038624312391845767491661783044162765641696901948160511262535155455748177635161531750463066110537180831763510862077392224235237223103304429045858737508193410024044377706465496875216851819208819935617360916573459811537319341267226501787491170119946305675117948467261933508047859058332085102048401015264344322407333580411162471302504436510133732994771828496495330651463075964405979670236905371836124290661611152439309383223637919051337998708399735585241113127152244658189409151954003770517185822024983275226691418580179009718112266767195476867198910095145668730319924987056626705807555656449505952987813913859145243012039650824378940240312192779294162075466991929429805376510435912642265677548461977043831195348772238613706793010942017275609481531569084216214783339736525337821839784930850689849813591419896326739883535950838814878259908260458819980470399856095897753287921713543691565677411295141891805858802674818236853444913207241216697508800022294522926250300459419048548121385368709423789986279172591061363628094549348061802915688651813773509996961863659391677379094937093925362203174222844938447825588316917036478341168199959609869313635714282675232396297274096570226507515100253900216643730095979790957133424633010290976671542176286461814181827068176395614431718021063058538987735749492248768937282363489839358133463247550661516371114181860646853627157784598345877003863408802349669947426531544571334665398976838611698792173926011372534699378342696114072919641940024648537478440013424105233728831881205838621093031943361949396742525101587002347730183259785485222050482281504225436416940386873695034036682961383911624895758483710783583035670228003859592475411053024774429992299556295568795123339373771523338515551384698147713959871654916409190466406987062905812838831718987115362727074111761205650758634789605026944522471328888853938682024547509734999921602024831819198253186575018457476096576608537168889847928491298877953918418051358935445704075064182848383152643356424887786666230827426235570631077591747825087591557740624769828067602544126009615402504017137611098231323976832726089533897617219582707855408865538786050957233352705966740150311936071995131419598635141797324496365830514926318697353612164924512869291181266072238994144424162224184965142827603000947719754848507659999380361311666340054604264393829882325309608497331971980249536406347511403751939737491721685796237662109104707658918596444420614714573434204525403295525527515005207694909867647840920494567643244354849706146784428236444660362179140579711895797285791938620019012515979417950544509471434969303828149174278199278232866435515532041851260647851470653507856688650113682440398232946542793572200907113242822061326077014816839331475755349179256474158643833388805852659339518206940288719392958302531936916393870700316373312738713480655464929768829907577087626154307771298131504385737954657306546901506902968548293795810546300514328370875938071908530377292891701751238284986172389758236592984866858692867404441603183527607870146503742797297399831543953083796367673530786000495706354165957029052462962739795057448484410594940228684214230657248495727131276068771610793915531353056398752080417003880551743507459834755363934415911365593789528325511597940215654498324884416932097423456871993933674758190603267357963822354242614417600917078005234180142105239976106776162665279502314699149710936189843564393315559151665690458282786877408187219859712905610400766421225143085386569894204142911495651563771952123139229020977492278673491626503619337933048441671959976410292717117878240662556966840617524521272777083734623425092099747955438100666061577829674251848867280352284937902871878539051369778447789157874367157638069976627924245631532347024271409297227029221108300148847170381784674158889493971540182735460042866823171679827817155825743341239943556189492875835676461066830783955772935287840561523249330671910305659742255817545250094063937176744405419103490513244077397887186331728860486185916816731696842826710219593738466321192646718670456055955228632345739666740766257349803064793805087681074960750265433150850349552814894436858370097529854242929184013211237264207462745082164887653248728286102590702647535676290234800755859727771722563427396327190752281063971901856912330545250492223389416542984389463987385091211707609573756391701442882283804665288127151087874401471992273110260371378152865718914331907230653580746888341310599255549697279347264036788807517802318120476875978963402186570916062659238619968909317643177884183074184008730829008203119445528718212980981307586346869269493598356236799605024923443243883967242030959464518825173701847114206657601726713607214715298216817487359173427665686051907447314754639723877529044471694959954297410241587143249792852669110650585074170089749592213007629168396168500190994229083528506983582865050756352554634434918301983965145135587402823490176520874743576400387227682341517002987048016295822648854651294616929222308056152720223789611294414244813098923251266777398151611344903715825074828654016662179742325484156761724413798149351817728884452336956195734672106944796513772661004327800915335872863973988547603336176889832662907754981230875785368631088122320197355315303872190906248643487171326660523676498547696326584980062061042576170978898404685462508560449623176923241072419467908433592168584366312541606940617863162225310491524832644241063164201089924544574939755990470857327301843019716145456254729940040957802036996606275828955579968704485848366378311876086106249510366997682953802530078634651811847128159743813880337032832084050694676308429970349922791738695686429952864974725715953682693374756110368865704651796269401170056870465658376346085668159417454670318533310194829134126089961687253014739104981215878071982643618092977125178090973708326166404349880489362999809984059691593624315864433009273786924202669971427949547511654800904998902117523966059088301825210280148788906178652361129565795876273871785375345065673061152639282794246895755568103272218653747406589524609668984350085609326129709153723238779990839847640826899346996783161380400927044486210610540337503963704521354083245008706534675901985447162816636774771348233259907120377895396542392140902247615420484062146441335763772159908597754151160004778617187220362498591516698752103465720991282214201524285203262135264449253247164234234157244348827415219548352008845678364364646046912622596975361913638297881387831381786284496480765866870011711854995870007704860714524530471551020407600931452352846451358805602945453094519136585235482955295324668597207798827625284916984767822085234851337153030180363986167768712913155675552473973171381628023876310772746862899380588990297279945104819038591281243748483016190730305634023195302816843791220844274530823054614204233929092229291134357458130595905769549419440842763280437895373358946460971980497692124740128918609043447748753357243032269446251167028630635504301405817970268761513005163722744366449540548252934884021514276256617781963936839669373270213501668056339159601187855793906399719731299912253555583063402822558146310693427163698446898835281554842361578394423647674645535926216637202660496105485212294380460175688757633537409981801459181644215576157168331437931573619620983967391494157132159402515289358953677868566634653595084248480472302201966200684793858596731102879117373305371460923288581365733526288613206086330428170609663593235789282647952270256129764137468760990973747044711820418726732052366270755029866929053337050418818695586485516638529670942047663063522421324059018714746138640842997585223616403215126997567071559866181143483576894824576916091414841012538985165187551378543914408088397554735325835134026678272561264971041041340536151809287952317385527679909255692116989719603057674816912554761747081067847832439999702658889468526195721964635863650440385093082846296297331575477836075827527156951124386750936145225801595527364318757028472414560099285675544381596646947216581740052210517246019631566878663487861449929362685787567330452612952582877162310528799188479665577066090873392167266156104189112047155461729053762687617594901678974682399679704998563216505182832518406444732372832347371453280386327965876966297764642396414111272686319274889006137803218941562951871811349413883489853348079214171393605643492466067522650287716284748918969752777285972416141548516851600124840947708934522441293244784722788594249164326142892465063509858214704906247172656227704244495498213334410104158001105946334096070708190687549198054961132176533515963855175050601620125183883201180243034318977589054900165170761232106019354077717528581094168308022426026209899632747796059260857972405040830128557119791623902451401096317718318999427791579509477088117779942009469469565763548751895739537265411638099959879648978354703458118984870551419813392709161012372893457679106345591723942415866199107788302188609812430590313159426519757507993753390741054759246383164383858956833415495772874684833482029232534459526015030577462709106141341980748098861490149213793983160696021480928239131467587736147555531067565610174325533613963381159453925114832783812064901992713798611980245270455036484479363970393338564509707129497389166881058851890366403201813328730833959085204771783696334586645355801873630549639000031980282750024823878147293437724233449359233920434709762925770948439160427257518252641007972148236085446135803838389942160726391589033792703239276905233086282542963500276133508329290446783099463905398135178565081198525494125098483786519778694381961534855689227149189381810809843109022412919496871230717463565336637389828805348248915991514030109835624559673720630526942307402889496194738850882052488082453239695849452695006240728326641920728248234168511065567284788204545289334862592928955416294394562006106390407026374640940957876076913126270242057278808063356445564904827443993508961923124185108716895457822408516487182923959970440711445654280109777661169372654283596932989605345215418500691783866412798908307971021449637920616884812738792136371804145881037448195182820065676553727374955804564389442262361254369300181947907876984195233234170287651134752545206537506661250813687372509215540496320379773449298605038599520986116162111101906707640379553046699651033564372966759751987719209028780130766955038920893830771351911795270837831117958756588733223529231176624672577665391279370556265077679562918791961004715357534021389748694592117282239369317856682029985008936264822514921293340502506312609930739055347347425217240277448984435216271859178299002074840988070024053548857024128021461386705610030031935548802621521774273813039906625622705136235210986530043530615609275868489200180988471994722364892514622288215289986320791319768250072432469053369825141445013061320354691995090948602355021678971079125040961839214992986817935452895350689067895855566716488883178513180847853158519280984885717978619342769148080216454736554118895403909545267682777187380862924156633304675205711056375383426949354226016282811320955024293888291222458038010950764672562701589403998946584916483461620488333174491451480782545203863521475318979010447077191447869379205951962909020122543573833609413327136551202285140709289460751045800659785353237147377837855958637900559930804035350144925846941005426973271918249215372768194073665768860747290340549983730055659900155673218632191226130121179176356208393799183062805748841407623912889858445627852203709453390015496185999346348745058448107518698232835799881294337768933966600641434838915651719963889182421999984232405577110684898113730870520489741909127936941353263024956221217596565552070322875736648853399877149925756951060040914586719159620227652563030455936847464686433658410918497577410268115490604848548989554212371787560334221521884795620062353375638297357420937366949910793125503644805640133938813970957551501762831470434769284722508424222090676820591580237268765914054567108018745929839143330325907391534421710662732834380209773092162184536846446909091050421773378115561866071903253269581028230472639478738007779208272792815518237380826352704709290738613692975376123964970819180126736444683747000463190633814638375397190977215942862386076735770418204985358229174431408981238957724490968543100380159304125900200025542822603205596028830471157734821465471057756493439963642080531876511721189767284373187050632684954903122113016323461363920243385199587651116592156355233665116701699354518615467933653228142283002260924567358720781125304337632497294955797267952689968257636512670791857206532152173203517875068440203384805774960968975618982621002412254163837557788022830452340436682413828849986261099742503717570026168649879344061064343564717509560845502575330675949046647099471511369956480008527301308565817282449056869170095644923769671957354414693746948149745305591020308680230785876024533710253187701098018220572711078842042232497740336564689752424976369724359727003380006368509729435739752077856035413960186704722703508063739165484741229330496267281479024756023182690691321704989732031518859906342328426809340352597944229582633744121716828305213522315255010774255363223226322636490098296879248000324847288808899898550735013892623069254315051856962382775296209499283049749702653272779705708757304363637408366061469048417666676906878051184907467613704032011226691052477319456433230078294828113804168109131555254680334558894004455909093814583407452234912372122528473139368790058811331094576847124234441466423974784039462585198651452128686978612095111055257521259137029874463654499511706843416836113101794423559285225169308632776678389542289024313822317856937480943328496900701547442533578954011336678575614721983428180001617249747550814101712113571984322264236384615555236744670838360231248241226913993127788495407405986280693172729756541139389767295157520577236243437415224895388806862695048710959586047323964067035763488913914199961613200095237914833982467180232157359236706408769562695063979820899037204327652380514909238517687141554356473614217439113671924619630228401731137845926626068364847473017905159429866454604071089286255489246642906655417933316752475148376156769919860196655430970457356825741947863023025343077563335263255795979004207400317982919028109299609030987818393223919838106814567832928759304878479880318122931221826629422650060497489568583008230252276362686514367916322525010914472586920001408772578116415882639502085909801612971425989246808658470740714647832905216540440706984663873439797140961784986403778253652511092879257270181762029780197624506623010793795906631247018140796608391836018161162771281588171941119601295933636446555314133345839209672459054524009056947466156926930445690499897715865535321910248940757458163289425408587093327898572655137501252405384715774808531997072940753298499009945839647823083770968134183217253876550441906595192363128065732312740569197909382863135389481104996512660907173585694280672369371830162446267626589054989214986235201589745776211006601305763755056955821684159376273690763975535481014314295816193079016592859520673246930900822285881718956488628468530090238257707137277787200736973898590729735087048058710939004210460009575205952386323011634976891901547746155832005458365039597874002546677779919365311843005176184163050402704740211922590216199913641150553482430934339845937171068891516313362349309582166931083218696304644368577219295267551803016583473674401802439695847986873155560161754475681691258254926576016774475124747739715181587322227251998163734845871304411018732232829839919606432377784020461723626164079082342182601394977130179909324487604833925022742062143110219274569371500393048993693586016158830548766263516993125310478768111391388810179115690573464907257696066427275141071909982002057592808371385395287890420778857954579785800437463517426183785400007962492773286411738068450331360667340540966725356645781706386501547337318455326422284611827343149319849181249510860667502315848550378200040395977637312049775797892226390437770113002539320813364539779256126695245915791289868992226179726518529899421645932794886796180089874429478705171345296176771943611356080588829726591455733139604557313205186529428207932468969189475570214441677367901139791857822549088304618702325777798417694147260571804687958128358248742078615077269169695902621270522479132625669810388408651655390148864954579793465244210846496598299312841021581543466049783810544348994167740413353642434812666051718923176753100250046906393149240287061147585320316152888618075934622164081362946592913162004206342053551447540991023379646309643472343488257738499882640567656828127339535144686441675032938224312924996514367783454617581575892489374451892547163369156725192657925017323150801586852853311940124331429609560529620413605290321517438526943886813659424065140338079270042526391239035236701426999325242698486909361579029407651246448199009251491155793486116513126493341846123781382433119054545120833775884062672328264192867593774758494781820222416952491587682379288505680235856344568294573241560100003738114741230461113839526272774623994409505305103344702301655149237716493800058207576525070005148636921675271920425670695123399543028631722617004221841858643100600986541814793513448128728444262675096400173549797152738112928238416841670100940122054146748349628211564275065640424476816585302621203610243958516690669604179037587690322299024223855869974052468656058340348478386418652641611281979316460696160891608686521501640641879061145543452262019011069956559241010078752527073273606908469142468862696403419145627212869011134543131869294780570503587172761543670076687112527475538191420922123595799732194262342181541038021234866374689227173273026476442463631310696398983301802873187201834213883228508904375656618388061820883450080480254461828225135677622937022166034895161175767638843131561818354439910540706116767918112164972685954256366838800135793591982110884850678209227093864236811429064787506992689412472865005611360522090284943987590345585347994302116776331109177367593618082165781380607086673855998889082256183580477761192026749323296872936323533555684737852516092435332897000629706269277027815582836863942565856587381209040485375993731287640627715955893761456891034634803073119274750241293195495483267569986561979079404784556439319875234762740512797600840336798984232317800659580993498644980246654306565738024463157150124721499582295974700382012378746654759957979172770155948314279045575064415851946585948468822425954513465541481902387776511162106080234203875175349623704826450945168133745810783689456070988574399008656210104928108628847311376183225261937213383467839220703807360963931734761130239039813309448419503849717146195841664444648571678450911706344023658164233729396080666254982736149347928226583845711342883256292384324722467097201722441427523868428014446569919553187230209671511022072463960085226177754639333953158145779340198896712808432936803645644378065535076543543821350108790828981883791325384482515650143722455473710448972915658430483230384436182317711138807550436078973899320550099287219060351422642412736135974497354108157936958894091936456065948043335557868957196540588422718996369471785273036093037486390825268251513840941991382819326771844155083785611256578322270315841499572903139706059103055931829745033770170796553646073261654663523288559633089202464232536337027115399874295362755175718878789502278221553185343833346427582311929813665960407353099987371019506122152237217079850625288057465993770919430603227639369174193114218308704469280874399709506396696774451984584094912427750080455685607829473294879110916167059353935806867395354250198430969378462254020738221615875982155371307592226865451083471977468255831642166823460926963085784651308128100367943610776706443138438178935999328844707506880640415892886732269962547532779657289002753554388060733428430259721622561028904642904659992583748128355644952476850555569014573925269431392647456779322115281001532222620704590641130031961654063446261359947905067304043889024455485190000499100479307665609024725594837002757143368498086942340115952741261715731038058872033634455335574468887761257270476911141473326928213675057038279689642514626947438068707076395815503599553173263618471584323267239293909659226573395954599819391125984246260152698869256135614278697447703349310802845615513362879769243030622374679791975322296434515898978407060598297994771144204964498024629908985246885058183814008872546088723423360479659666620350732984177857272073206523207554283278893425075873050386451764125853439316153087661767458072220783837963272421011180109808166482257421354979498479688436262948468713548331921712028439398176403148657161678487028505027153993827872388295937391938010651712034943780615033958596627167053558448378375944473819544859987287520548356455905976433195098652605978536013773099138790199285814470565711841507636818727805090717638411198107222972020321960039906144166103428130714955459037575117008823780580862385805342880563606349596649693214560768371529613785333027161972715839827876492101175932415682166587815208576214673810114140509905267782313909180789878908428872851968035819961574654693490141868877241412782905033216198418705278941373129994316738866819240512490767902419841127229452554344411063268099825993529413923039249643774880411648308327104893423302396537220479693709412922356722774281988359502787010550341279650221476545391182302274839780732464300748083893847464761570623571884783658216602579433491197430160692562014109289720820514424604496488097556533551052926844780288477545780914062635496820279561275130955712675367805629757835351856357547273984896516401675752862127213962940877405656926898472892198703537884469371766270202224494042534015762186808385973422864999434324206348764528925198099752648028030519988175703998312799432518571536566303610168102233869410789897552128554990939979076887927858377367689216723554638696132697761757172823065060706923167465768482529223498816420348596028909982430914192878615154917692090971665783444645328192967102453727673872901185114303457654177309668936082076202167155166466637870838668551948689514800328247861920715492464667428631363093387622898710050371021044862527819487961802669686037115679310478217474471972230146786469288190273349941719604394850601410956552437920301324199433124187351782039531285213478189365055853332815840775954070297947211970187544324949165469194310135293620905892985725944582750723225269335520265792508325836692607594141676257879287411325734201014099705499560340543924490908908944416302538143525207746050012906893790199121584502564443305355737247079883988200822821638751116685124284896895709343938835385165085950740567752906097866126571728491782587905268417274556748135830346791427991742938342185437003924940081307295131658530726155958506542977074530799393897663834680207838106387280477670683448048313839131936413694708318891073006946917889292708157863565626146256626101160849898580988300876751021305170814421704129147523237715059416130725086500001672626035584165439485860332842218403976519742029977701827799460530964266238313693737435834051528116637069028754581675900683790207446431077761235106775015276353133301200689427215218314142262119815487393469505378120644705139684891088149757385741981172116165950828354070163303408290732605054584256848153913423887188491840463168070155038375621087214819289390910523811938172929363577900812409194698311705096182073766540941982905983295824161918316510418125818294872970144407566401767118725612908346640840974156168163362338508148098542033261695546093601378007226593094146526613321446725393288892448721509449451902124353900211718221102987381634135198139998334492269080378734258503923676945176911497858641340626731462913365660486697936245072080514953909560592453196518202726799993225090517811286742085194633002021233764218720248452219156483853807000730369296877973001720160557716761365820203132986655370681374781587270065030417982367947594199031535935980951203329462026852670325780901469519550894941498304506815165183575835320586110106944934826911690026850377178905292276213702707242728524870931625507845212140316983416803103034357703040763001181315702130388220735143239887286417837451557548206413183447425687926019455420231936997133988585207557451369920048368271252469345835847039917390666454867899038232407768543623673488418430074512628455455440728443277828378860928138305584341982426587884371664625064168724739438002143161366528219031494186238029311141162990151897755573807107116362560896352972385075827051300329104426997136609329357095851290805991576055646558784607862261735270564893230876496503063054522339912369202142571344607656039713463063924159599691472386395064596929482636387820770438547394840092665789196579510141154603171936912618329684988663703278547470427272802903290707799379253764283672570165518018482842744972096447460959178670671398036309478895719560440823602629109071538267951857844609241101361350197387643794634974260520347178136876110704603489666291284196972303390394494207564238047210228876225710084033320785070676482562062681747956290553713507070156371958390711257137010045092213861502746753339790665607369822332779303304015788325471755870238333901587691275855958353230769867642731093396709058172798662393200579135933707438813996913990382546397299074202344220257688563481411870738643791809966920545780140358230925151767272007336115183019662121225937462836508400539937235606806369594043409463185207134568440738578742170511927230386127885087685314976047616200943708822707619762828783278600676482014438308853064670427829337462335740399442487258874494606711001736880350099194777696819398555125448260990699183054996036482329615040991422785339191297599305372356444019122377972445864909400947298894071305508651224976820193997129495281862581479459453345844397223715707887062367238361691141717947290800282737113815356018390376703588493966309594775622517660429140887108106878118163195318606054718098578494509253170538246567596147734435854824336991124100499359536506777729051281923106264954155617670728104458163790320828209948647330709681078708575007733644561560960537389532226409225956506534237031593074428170967188295960905778777081433435318595199970371189456251320721539035293323568564729986517929132692406437150360815939405119379193117195418254123032815437693208889565474825150766299286282577199057250178985537673188727115417933572909804540848765850704899013075912071347954228825768013207164197275421555273521897610360047029657770088392789581024938640494270603285708205836484509906314377457454704420215009971095247127996953805004478876901522338347485596553077118772731198749182063724385284198058624847820050184973557544718100730358408031789168039047802744820998595562601507819921160319850989304127936675153175526215703590456450901643649328002392540423341260972929513699656980763123102359046970393007538707132265695537760832331668212958253054601045852416476107935742233749641458465423474680703039351852548392587113710053943749109412549226606162405729073879145240841929590244187809298089663121622322644926930236928119382628842485473456698735454518119157986693326932550180519772741109725106207071875630757673740827245230397499716522880504779225613353423668331472312318341691226944327583271650216260639895798650577162737792625673565618807320950447750909927077322769829190663468980662063741273446338712084015720086444529977456139481431761196216312635037843148858552524007617968922654502630627932714963283921540062579404587933098438256946992699483245049650171005542306568169713699231981063689273301001881592011015097530897351575289873750652083649802684224335790111404736623401109651668106531438917938202660893120655716719264222717042436492153479835401638726715126525095134533953021534160829741477575522564315253621271395253689329065531989546279599882406200894304391834170125563238059656494824586896624434709920724755472567593970194098980415192197249203767236694151568207468177594620983172493214584247642080103238793450786065819401696168297227646073973805891444456935268365688484663296289527481240746995140941631211173699254293780177611754072313640148412688986973067850130280375976640271934133903330742062270001105303936084867517824159590690640935363739371357209961101975707745276421608679010429774511379933589305704179520879430781171615786782498970137814121285434503159127865039496764033075665814719731217427369164165233400446733907227686977659979355973491003219822197440179294616762216562696139043669063827748435858647469859939525703614749678350053365047426045534380841582054291736038964068540624698493390317247111163207762641535082210724636368590455936900557221376509937350421705791629292430189742022104289415234873695629900154099961546824124142489274597683725378952761724400228526157274997970226819252261554076004603392036443412778096200609658344041169763036411563486234518593844702295307366247330643899019162534672256239365540437965282330205201575726861493991495548799616375021174992061166779379505169988405653895524973321052128862456880772993285702702860501635900368956596547880453172100256330681016766216539480975760469040347686873930187158640204028559653666751555209632850695296944643193777318746827962061390890725988384268383224758268403811904447111694742689424240269325459692940735678637015855297149758798224631926676846421394514970407519672679758634907908326584826881807266829524132657016440526908356885039504778851217290456138652535642277690676367788998843872524065605454324685078437718916323190182117147947578851293655633562949226771029019682792131681929467517954224288108496409373256834849757034794253571752529280303702110615299108685510513233389129848291237434544629111647529848224750513348949379362341550950941120755787965601775159453907157722860466813172608622682417840516234910347532785266268570512469981847416496167957426844699237449997023607849632383161927282703675507708886029740238797811260732970814293095043819524290008924783719298806806526581963226097712614667431144478824135828158621955034850268015839683286738303386557331062688305196674016709988592932440897975830458997388109327239509668453999125405298184859596096905975803139085331486384948006097766227903046220965013176957929139613682414495468588467712754563470804755063572855197396932345133857943497248464258306453973941221574953313686795670171074585074561083902926371677669543624734819423212586939560134648796623301973839074860250642505815692212943601657111999734261678655216925426909781730955969758175203012223389082632673924120541957971758266679968085941837499994235426417450381572373967721221877206478488675417872079724260776352233599635524717342039685819474811303282465536652270486229165125663923742624682648596031120389344766175127915308744232770618887517274477932251533335892708864498005047704638683837872815067028241338118273086778343985444631099057548594030618236055439585579483928432927142762176290733697226020779239156534234176068181422292167438624071314117896923632568199941206584957318835129971515234122253146058835218737813848567567583023851204902386537611234959962776450092039265064012103388382474453400988595635709242123773786864918655100981806866687880566965272734661738841061121481695313851390904609351137676391663377299473317124537738178911819404555205637929967718628892330797463929535398871536629927383150453342376922887607052124914741367718819243924400619966840557803135041767031910999314078689006325805612983208415036195990072601148794816554151929308714360690420409389467226072011837538561569537668487243162762161732280191989763677802782161401545771718860106787084734593795345871686815103269739425990932424462241477239140126693620122452632014089936929184562148537789130928683903136860427576327853318831131990339006261711542619944538672706239852530505553128177428609324273682261461062508558080224033169169978472595500761523517839197638084535851661316288505506280611667475991800195822940792496334236992753743649378287854859976207639585875589857074928787329148860173377691187182695881106862478726988879970348896116391985744130172351805563103556211219269320241604428622821335151087506751823345530635814275451650194137105079597124194671159643666811260414954333497576657194336198682557620542464411784577554154372954542367081829514365547819936903384441314038027243010951380879538514415184508660268220530214445134373353014713956628469228384585002300523730868783056216651914471036263120971073628633550444091418926322109882537864739922498161844319335142418087508070697681852912550595023148952096330247786213563461666969806321978563806537014225899127284863904199657680704444083858865520213701894168138429374925961611344315292438475644192103551657397290053441203422181433733025179197866711420872837374253486739376534439617869110029796714247175134719065755974517890337317054914698588721371115831073920082065016175483373381650812116331106126012703797445343815024268487598499174291717687877545591716513127896152617438165235437101104284178040588315678036948888205536176556484150621217196405139744989069489699020098591871486526867658396342799650432552602581355069514514818597274917346991813051910194287084452991467193848955114695214253083106909615912315447272915520983295164829363806062069671659159982845039774095437525595389033886946955869016597269391728884090820485369284311977254424948927658646001457623372788745625799160970605315323149853657308516018923602709290105018456919350292271796437745581451993502153546276914219324334051182629012804354933997064688118257730212618560646932389110639500255436541938803665675963866297538819276272879027913786207075933380440508278971099854377511423963950729071876539277848477403111489057807155591986296319351101100167668215939191501787773344803575034850608267639289560417745956711743510083567364382677321420915305995414286486736899778903464985421444688996709892520500746051399307763722001432697299542873274291913122943364002558152706696963230997220230810942562991949976831971154771234376241151291425772149333739932374874194611583660605148848834308376624404886472659746118879287920883087881438174747411032824550731848237231845064726432781233331007924787190513453244412274680482442239772844059877458695701231953241323604767807035390821632741826249938528308967202696825396561307450138046273172182963263334831371845329834221751564736623509990680038027044603122604766695902565483968048113080154887257294215492066757869401855282738477465962397654077328847496932816625240380370311964916195211036606632375226788567052606591455414496463381741458336306483231371289148832921754263217448459891333358187182088782225048194307821903306472688608576251549170536903250910486255945262881808975670964526472000995068877534837959188400725541685527999189654140454801193483698406683596187455824285813090424914679899610342751460269288293470384949844292043434624387965155374300009119366925044938706520759463315687158079754835999652358213460269073325494762512786192107912166614729970597848440294635925501825049048627830086373462404806928357537682425179939087459478339649814347070342265776762540101812498067191669027277733440748904638857089088369818906087406997008129058859732807048363286949533835305101980986393955390928630191216708137594270206666920160798419636466245300794989928739328212961448488982350231795093317007436166144740420944220933865523794615114684052766288217534598403821455455746951522389509485189790719714211388341739072107086594144992650134608919527941019043146042300533134136965037855514217963936674559085057100664780467138313371026642810912216910004824335273420428233724450397696558386996973437364418941647284899929263150238158831223742183371147559718346564933539619985550144477394317295629695359202643182457386832332888874622760785290162651492735900142316078053524422155447621713849641310159049471054120840565562276355069073039828117060371164494485060271540605658489108191202000526701618587588797617528143811003202380398843674649422989552129734657843703798886884174186411080977559477493677129270251523498781963473566814438113866570792312487003050752569351746110347871585555789509638283742859320702320287019849940780510719194149131647949001110480660271344668260762817907603072264048806201682735186528353074529858883507813286139951910379111711427402295295133762829009729448160632359159459923575500670115172392472994058257463700331261572361961923504959621131523546350471284297829624189177787934605345973650131092120572953589661467617431456477043611090772934975536879047537069487605876784033393725139682180364988907101925405643758904614391373086339215849149301539126190255131735924018354138378620292484370608802662073567921850698651962072845316101049846667397597442799261815203290166870969415328053618624342913828022066959749228469008519344971114944052423578615095310430183467528656875433359322794653701979769156946748029606393521456366998863384550231550993008385641014434308382261350226898835128957414767946512289776966769457482386330157280236979291058400397891622401029752421119537706822242512345560182664103382170594520168986723439442183154795496583729751841084812761626701298951606754505218008253970875703796223588444835185351111315218742157920363319110430744170109732258472263383682969642110363573691145875956026095889921214746816043681621387371929025158236713099724062742955319526917194374038935295040048637203167095747675722912771030028104193891298652162432791975338652141531790452170009624070544251522913872358635741991460146220339709697861662132489703604304774972794581389703736237780307977843803141279982197136800169890736034016611902970433638224067607563998577182159494238794945580983373990195074459720879474131974407530713322142793580649090606216012668260651570779847057769869923613512410432594114385698498760342312587390001620303904804558710588508360358435799380420308236189402576502771506494036639040336651432523359075895001144962974850748345176324674050717894404270290247065419275017584354346620785728171419048449647563463738140187725151936660667062719508303625894734557978544354570774934665425237751727547951198794517544420142593244989758186547851584142122001902478823712096936684542448833938558936420056605841894647265052077949028028559559018765274896983700156789330976346309550650863320183257586064256826759131084890202614191402787430028179496064517177569910972981266318453587358335466697947500610546571274967618278645339165348462922969170402834300084070561128004428236330539462189593261670160311425754564142953307780297095123559137945643379811271456210753122447500791722224100095763483350138074537366625873351895350208990922411290559103998122248082932672865713805878532093071156269951103982892816525145854655242228994140486434947576291755620721360012050083360674962694344985418184259247864884711331498618440337977518380086548389606807624963350162373711461065874154518504470793852350493464321272145797022476767319774693892695058412926435558082968030875377043655637370864404538235363433236868232558739301188511407704705587645449832007018955923158177746291070948344570942087931382824581192754875089539251153970533916591489112313243343204085329089372112011536860974674456121613439042342518037081152289645130080344166983203389583668750434725541621611241464756234267087108572149778330346095259656018553984861194634624202232948529218236820147991506906030306438651662148805805493486332653639979236552581918082967715747246415670968881623620975594415773169349441401942245280703413078315530087984880791184353679348313635314866840652909334495002278350291956690860081536366259297909386107622004719281027139432392075972018058825030304070130257121326897791361020085686225300703331585643133644930101320619479115334740849938346381013227741907267845297674452147104261175739099110057843454656794645575239191546716571446331837813475967002089143347990224531080913614890143660348661437103522263942918776615186848126490501442694121070510838712478235061370274878807755864402296966414309854478193700727985623593932100311503088188168131088309867244080368629650083945098970352145182750198798218543152931684881138113691543512225690478778073762011255184870928053658182242468882842784393134443978880970063307056639332740709619037832558833825217532385078742822875891284518579555431908116324262833692638020232373859011961368337636795477915443845809182499954196137495942883933275524466021774109463502909971722422866659620311059571573384082006613856705672386036678894153448843443329522042707276381628308283049518705366058269860125124566002131011158677227583514081740712524087210157810325950748246557984690424613445950455539500533635869043751789658874976979666190898903191188454876319473072368674293293382403265315073768751574996769502472659053520288066840659580315356801305289736216579062900063821817199096807130840693860082580974115920813802896673762589796497348767217325857186308084757690247788554950918399822861292848414967409002614616140770658349689861346887840901315106958586868182447205642204412656880782567449000367533041487138777483188778414925001507318018334921548977320036049744241169582650560629469671347242122959408689947719771069630693373587356826882754806426223092857196581571934205667520904902107844742926393679816950239653883340932515693218052162355662824717299321220585295080194848639042613783641759531107071270708120562498659322632298638511977864578883470385056604657354575990416343354229419584618801968278040846539531246410541875885878071863701186931963936042654583768011962217878643311979496977092628603041341880737095858196136041629279214128424069517500422602574428648849407710361831399042143585182045366717296507500193216502830595203011944198217844886597074258357721522802585640147210226029315380609640171799458202397255261133520794875482707804684164798865402837233666149308450235865715194167733889884474681517809019515208297312459680371611956262362565964850767898969189077126588103954360415936661514435926370038693182449200691524064529189834855062967895621640514178689075637041669812610175870206602232946888147241595779524959004903708482347092331284477326581236074281644490075408775780534435445919050367233560664311491629944674433191038879832729234171169172195970442117458956986863496535374520993799283444276941418901473073345539914740744875058507116290499458314540130422536218222424330782103201942539891704415632270601460109579164008338184077290508600611005974946313410680386165899707831276997846954731785597859830693299286415585944879613803364249691682345135841693631500816743734806997910936136766056518722529557896551362981813423340256724243704883022031691898580268881943467614206210097275039905499483398776645628050386286062507734953686115482966829971385409905057576217989179139110571263313949119112145905375485845663997437364973053572141366414254943765839556571082982883687311097470365338391745715361055880955217842791724278683660063026454884721786716481429137228258345151867285721847441266191170740666976372769261896403825132622407661250700800710451496929635569793254749509902542199328183683362583909195476150689452893611911919558127851752391096554343823438001331914223789273822537029583674361954163371782478414444638581832224716998514961791039860133663919222229223907374235253740485713931786548822345363612131074568423513069345535043176473012919410042540203820634303101892943075555904720801186949083914860627606940173020227590774530623204527699472188194130788182171945344578342053532582466425372782707873588510362728630321122362572256441382674450169530363100652333814555442247471690996379012463820258371182464096849793919137955986453689815712528748125367869115936494439851490006994087224715067242270041409413344765598118804674667693556953723802983887928992155460951370763758725594951721380734266858036856471813698493182891983446634525445123798728969485321353797992723410771318705651591509487487374143475633859641970372799078510809729107167585040902196526809865749196491483484233956980587465561925580740969195770143563749519944829760082981437316623504513517844400533353233913344909692137334808062072136466615906541736386720033884250173973372529095311238910838041532624447339735295783065472404991652988505219516549079476888940958468188006682242279814318029765019269240280849866801889459802558079455504071077999980710707712561083110216198601873239552045212134113916590703442803316688276928405015502382688018772799434877222120385081298555689290061622383579535586325955067240374253289030795271391057992968861871264835695034854718718983178440798676341988315962738047144487323431099109018639779511057798956224536283045776981888503038253632626907484682348430589338121201816327198945407255794978918790800638129186609749301333170895045085389260750992364732765657511746743630515503394532905310025396470250790473786851903551446148488300430942620544609774592249378915201459247996041378956926348197725544308223451050209545896677314175800240708909098674932587796756239250626516760698141676061287807290642746812963973998019572335814490629942609861580939082046205565137113513677072061805761479591160617424393284663072982085982103172918497007376775649387692217444004756887760837353079708325367361503190151549200502730902382437922467036646275730451113841521060228190113017712160522352874099918915003766098123340229071963563465158075674634739679083082603443446587542936868756114433433119907005419739045732967177129865696935582464447943797106821877464202989281644967670978658653425339769161341449631557363271716441721484121729960197739620170024097065028184131945178769906111927209614447026258684723282023761240925253100259470916948461832742977581230943568575226087620269694333949194759097563173829874251109633634998478407017787236210536855569471054504517501465869868348730063224269978924128239442724369581051654087868663646604215603614662460728489354218631779211174571925551701095103388003145231569103328574238976291322992890379402099707528805806453249272561799118398653396931678892462048340960049398350424033568442577804973475473491360841205287640482082264576918964047601584373311616598999086700614265878038841193067200048405972405141751813477409913553426974231575633990284745235015415556033257277021055458604682251121484645747445888084033764031782025345184240049998355622528504496291471748472182676599539948135318995387166508647410545949197273686650005540617860321528629890958228695742594002570671227918868229684552141761959225475340213915212863060643470678687466968446743907308354132503759612356318202843453985695981459585024304691584354607411035978920044086060942569662594806761793452031098512165870174996213385620604623544537093679113850670993386830462205251371464007902667134973493242329438693206003887596893205247440002081871294969567369551046603359652677688018249567189374335977975180485453405883111732634482455074623016204137463711501081326166543054544738172200704039126984659436497295480352790521925056485112438337047494431310392414140337756815946504789508245250308883653976880133676048288640184683496762607660915801399942953102808513201406008930167472419880570159662729692677819251706760446532994156854401773834553430540935095045765738346820383984554582288331890132664859430549203056149208655618031131843419426848881779826370428627465996796750034823154330225121872758692077245606382885466551366869124497426837850499914782059373721493059848002587570608199235885527283516792282242540636625452103408815362004239928386184064190541158142366488969025546535548090753434380625260988331293489339578563790604420824799787456264398012642847442142944730528120453040200250512022771552812472185585668251693808612123687028891472824217433055011677907833291294560384418311257375984051449627758330446468253532186071094729874955896217990984753625079095678835269978250976420745440431735199203410098841135019775362284342128995146007210903330853893399992868430412884542978057237002648285557924348111179766281718423515375717910385380582474639447195277551861623759034873061826590591009307174576084684102005990066762183089744056052014773646779124295738621905678222117362222572429866019196195312524064221713362363819325420379759756059577650564990651003669166879303050776989357807994795225836294814391406496352213930973548567019788834307644036140215156486162546259458489839664096234370053856327690673469864274830006179115458649147681403308947654658715924752697610759312054413413083379634287896454590309182096603875727261847624376103757478667497186427772160927462310519439530021375023213522392653747763616317327444689242524036260717387775204366680329947166526318251956904448733878902793203382042232910565797708999091329085681647031526611104077918164231697168438781542037759966051106340356939296719255159726957433996855113657146575361985469548380009767199887406188176138894532296736379730259270340746840340627172635715854408980169108541725719653329035985431310395889556505542542928025178482757076748424788912349822548735319337923449714934190731691284424704314053401364601976048254137779007456730025318770053599162452363129974685321412140836357162788382954013662370234811212931428376931763796796135386422494302187783367952255492804806385261548648420712235961554537581440981512750670111573998252322928796828185941336189016335409718605772098505737173639296403940640375460349255017892138163911189100919395582669866122232761111497842347508379656220951209775602845602093210876826559118571868393830837791809381994052725258420904926827466080295235881879214032221406779173872026129580890389677239310543678395387926773752409222249484740215741259011498651348647828791032246513870690412525464875769025986467322670013808499398924023805233905952646895458602535944503683950248892408883929429104164661951406268748468889549709811324185140188836986339453191039893642197656269596261266024601773251883912661854014407115127553124509339066905810485404259704604463953673973095514345803443834143025734790192380540704794875225059120954350361086237678653055084013158660415575837783804850930142047519982814807134586458040847808634501324203809855720614936955297040151668400545440588059875542557391783823280947564142432354216391835184160634737130818348557038283852399180753836977677084888769118251006203959490877722552910804357528854277449949084121370439040947392789837527264864904384069853259577497283649020922599501425290721467721677197437851757481624249177871780286116071029082738115931164238946241920844366889341236758095877870661884255384032084887132437005430635437287549164368768706761798699649788998101156059384585745543808270813489445104046472337160388380677534020143016593756716856381674429920945871887102891143247726513225737978618531707600094828831984090376589017804204611953618309451099266199826614174382116842353623541705243579019011831289119701711150248628168780878752728440758837046444616642814053087032003042854796007547885420923518353801453966902403793817838571540566460698426675824783554464414898700371504124315231637167935440218482502631562003874942355368606776212246239472041930491646706522188375143435561779029276347249509511761506441391931348567046900193438666013433300247840737895505367129940346096272220457760801326721969813992651843292048211615178081683781441078227304636385287562271509645221465075080093682567706615772207614515185661165110045160058911623321446534470723348421312527116997776963551579395946064430261079907842427525576026496756019163994851499090436557500093689120866041248241762922932171741844610827746834677242698938815528454000225320219749147961968447787574372621627887997022513269773064958297241161002198562052517284583378541647749340047602802065068580524460093022754447465986735610007382482953833023264762288363181293124681464559103531216747107969324990410534969586132851186292711066371477956824609749028655463768021304073852105382468839362471967071355287413982974833095514045839033177101632400874473110301472100241240068101508591300460199509797349756797958477080885319166796226867103015745211157299910223724978243871329896834473392911944573082020011786518457205418102721832868167574685291831617223539992304365981726477951728578955168292436833779750342994115705240680224540715367511045821181723256779728053337799622476392527375317075847299822355324280794809254163219797635833108966043580180376437324828390929135166801462528418660058658104751495869046081887125642258832184104821751435395356324312642835180267249520736122635972896035223746801257272191793572011637837040139513377586869401797276567555443915893107462965313249232234569352949413261355294636445623156765364232315675238524816678400683442737467124630264756942909637476814296464458974875963179996696482751241148154263747127548664642116411532384894574047812948609175347719455919744009448365987667344037288343157609470844600351971363936576701743286954839370171120086684291912266355625207067572376987046985742983551522185042618073441059469832200268597824675992501476563551775732599036808824148691930342287476311217886614377451217875348656296466507735114414567481965868102444466136856761846251668842619648135488474248680136582188347010323354395117728823548669231249266135734102644570878804018777224669351345559609324593397840954076363981381318710722086412096341249855390415104201878375931859241440623642713568384233008926600254865699417187555930395331285545522694998298407330059414239849530186499651478352004803001447160377518332986313750879821988911641085145270102902214523782236506288011524445995594863675906403684221965031462611828503444911700332063520017907850490054257298472803368499051495718408281052967540788280632691714830667514728126882643960136811556398820601189991558610369937048022502759715074620030377253207205529235170155757786019384533325241879446543471370561975649271221875404188707812421921084108571369534953421514338133150971557846523029361576922522763300881799167704665660659031651406109578259955769648433987087334928141966638658556805062279996694774006246871375137948065557392134241268264457874799998259492450890712300638822737363388888986296915696439800607335997390364623089744083333744876700786978401893383454408622233380249860463677987469593519650349476096815558878472503621879352353821064980553434867312642956155742410596701264107390427487631799007459913689300896838537416676635970430660412487607075041601684777339259385838775834954824270801400074808393709055338322935287222514095482779095411862784773318561229028149629509438682245025851506184545799376425778660457182777381745904320197118945388577632262062596217954618854859623191356630428886186515514598864947202904267089425954722615845498328683444476149288894363843707219518197137868797952400805327408822966876736890102523466586565829198769997078553934329881396311323579275627645325516489855251116061243639968286767775464324260503967835457086496654460585523856524634506250281769128023218005533414066046469995080040846258851807319091292910478761570006032317938196747578071774912567032123488810125879481504931858196126771421678695263308342234179813461064337407409743366191349058657723168795677172420834264884830660027353873679739488898629871519735664416553762724384716583266233612751682335336889106627874191265795846659068760757632422261179009217053904303202906095122890087718880588519239677706770456818394622881373594137793877357331170863907083666095604384750965574752822587959648928006859477865321121283200031810891032217438825957412414407831688765899318026142051090154843204020177427438931510319549868393046006129668366481944103607229487984874274570805625294128083750823310022263532803664097847951179558901928097545003383976637712003642576890269413637933026713786668765458084599362697325038315449802730948601768366259733501086122858364353421852546770806190816381589841073245761602693536445454449505401348205313629959752974142437182743786866779106884479013993817445980404872350187009609484883898926423698091601165731295994129896994528428483608128992293540401881373279899005418097171066697702296452279999276711507604699117502052266262218698489827323257744749609915479974863293315134469974585306123570390444474319580582011992141095248982010109641146198592563924633092175088603985369065261132344625934549194739780170129366004455283533992419260018561532955519866595663411890794329902280505265041774160678833138768025102148808454263270669396516104850340713492648013153199755842153517080999596981316211703923868246509448298420636283656445220284614235378047928524089215588362969210870527769745169755286630525245630682618775638574997831192390555738942610253013521861280974627888792431279449831845097284058335453767031029233207694107891348155059211886956145567215992851985406513476766696688039999547169532757722580028230649677151473992842786769944635297187942679615898281408955085473924345349927814889152061852536838844830872482376684013954128341400918352063133965652644125391654349289148905990839678213993005745663088169450289965580911899847717629316043586848525933194090138135734047260243291715348794811361171871048375873467924952239201263249852816905452152950950714972609305918655041777253129223412843493086670162831397723474167302336434176350856058296338454577276308980817317468789844250207517320977476434148518485213171288022705493859977480703309621107227579887772892104084321248904436613900843777411898149979011064942835943421272233608411505650590307359312863118936265483007689305075048809089265073154516474457529553153718137134928666686075172990204897665651323538684401511268990663068306815316188092283866049996196261374451590405777944176940739751316241616212327387729688123880389716437336829099383585862468668658617418905780874979139166495008993376725763600450296668294404563338126795370075521174833475115311390651678473974060708054466278576975962264675026823681562935795360910697484960128559990590269230056720097965897207539741480120435510009754282475229457323299161624934781667198930896980453167636764311874239688447743504898916780205857838480308503690771394481034499913992195985197783414719460593282852677318307690449068860621570414807773463347056951118680194831663386352286950891644449312733402541658162286773503221204254463194429140485712702595035069982257843739909782667611829580921353784918511081718510419139225677753488708955603579701387255903819146562064298332693494586160155615989798161841770179909409715702623654593378693491469166427510796646234515682583621914592794561382179755326263974636267892302894717381674719967909223069795094591410295453205149088245328314557675246965376603464945163476151861365154818977639947042680943006615179565953357176549785841419617483849716869816153186480823783486474864060655834236582717156246721507783240195063291685283306109023882576704165560879858057182976513406640936652039177290860132063497767659346406431992563123714454762138324880593359209267274901442891964924789382551391728345750196865024471020965246654285532710122643526609487057704821303422931713221996474212472007930145670389856239623705697974398233643802800334389945286771850926962113423043459600254641605732944371762869591903018918420553176367512833866580374116421279568213935411438562676458038996630325573481391795791503724756589497956754275760989324925650009132646880384057776122547094669960476994714623646173483455955880802259826753935589300909728652182353705585119100487464042293462882642559149954592311401730779217473044821662454310011532901566713913538301499233099992004704278733103013498253509992809768043330059930360365155591055766922513715419311703864370692970219670337964377633377154824858056867746691426634553422395727431229977383868691665224419858312095234862500067523911411652100948887260910947306208249941384460988155327861191713211606397693826454982229271521277407604103189715582007563739077440908732865736700429587099604789936495314702074110221678543598712083762689576240806700603031950084205843026774534255557154922080388922296956012998593965852741879247244912154375589744714695348399679955178998342318250675595133129584124336418798732435499309068549649702513368290642340144755502279565020714561759766032170674309422944996761323846583208966770667848080105900275141986208079504538953581710639594921433291256046352685844812712762774738815771609296228715441756726145373636320899558520931924401320256133742072794726180536583830057685804801862978465698931877527083827264564931295206048216942983249836075514789077991565731913227198923832038320158302178474053771982320490315511675678434738150388229332748027662793808428355247323727891422213911609327372573328452194103347880089456464553577808704821403038293056458881390697192104425159201988123876690164029371043949511781790120848028856464963212505670424939095916682390056714072874801850805496606445947352853418576054079412926394015611724164893218320114575915286732784167251872771923749133159576112468384914436316182815614290919165168801093372087573746476191125154769511989867797620947592880328504351075094785520597580943946147561834375401479033003640638946456167810668164197166236463641466163096467771591543315781552475855414503189003671293150337316475664910870750422328246411397891318145582508799546182278756733238756608305475733381019623474130530146172366055450402068781025058249366130161774800331310438710486085261879381929818411845347628174265151185013345818124277919714726969982918724239054045339344818553740846191410505099898641308353114096337401245659266339689009457305941185688752733772924602897351025272416974570173173943750148340671702778485604568550401383139786255672167806328645738287364825103084701409353916031962864144819585647599104551491678799485855608571812495052417478824765419881836312764197561404091174822683692491872335818350431324313966715866107257599966313766642317179210606888768765757441309428231022806220230032808461452453188204522432868808120071846361078375081477451617119046391939565265986400276018916370966927361901532540474198388759361020139047703132637071976297733193601011373732709482452039239686478366654639074324102011489863731632366123993118894008337240405243696616445141094266792970321412230806140834904055423947445335785524938572124296261224748897517757774396008240350389535031679107036477945488154158138827015787521507474835422858990071467767236667742350101385676094784507713729042069237083027063310716729280468721631080017505159030811475801030672835536929834911842910602732325954347287168632645202883632302742021099092391241358094793536124870792355138698384477642947702733183080132771888763439070658214608664081149060064760680210718828531242719438618091111408743879352074202412432298107262807865366085326520563478774268433783913460122149747444685241992159053331661173539628120685743394228878300072569635852941366273946639453899145511138190230869201586580842374395583468523662506457982109693430425171080592431253959153926207057633465197294575209006198300258220453563181123970644929128958767660168665979636454671047220084633230203471883998878852915822479288431739490831090042046104457188633064189141888947114064596541812084408253646014602668462047885803099310032237210347809376224980554842427371834946400869980824849961601444734234945431645495305792635926330966796563243253913046093520749956632279461192273374808955814441368491195343151131637496008221387893333809579419771829181454630175591554012675018044563768604704248971915299941300030587879637056518747450611919472764918061834314067848296744236984397490923622876100706685476199054552634756789233753584292736061523191626467858396528490198756132469800151557056601278734128165832571056258745656703697346803029532509006424781796965531193008823215634173618485864540185407963118911431070047050347400311065061668856280981762523835177789357597731489480991764343840795122389113554640921778184601868228218591322432481722108643007565699676912713851778332964307586170069983603340307807179868975436806053341791459686276663626227451531496337638650256720000318100427714371967820404477251552934501234329902088498726606535113011648133052521488544420771897848937156051274422956600943963205708748324007489738866194823681240744957390049057778666630632657807801446946714077592753791071390211196774315992207368743693069643372422632017299800086752180691516953350507903959091533319960871423514626443719624262242731719024145040020997368722280713683009663493215486205708208346902234743274468884696010192952748615650035421105692646081854663201574655973554755914642036336395707526117221315257072699505348686578644411642308363679507223046543788073032463086735111543795323338792309454917099106356220660365835262426465637029656144240611467509945709854058471279014583403402836715850034963688860529465672438485203612828324342405782739909157420822228001914318732839106449349203351722103216013222786262586096820493175506880777692127312261237143669636146716505796159675979356973418371669590452846946560905451378291193751665604836462923351880342725606078999520023942098259473749733548370071089609951210855180282736115811056755094564494669291780366915853256981960291619358222207801424638611003473958743945442787816051234968435560079146952793527501695291000916676939136779556578629610911305353537019852029488178994593664205547781377214722613751666735936523775336008035674543303722879980060207887262178015574143369591867825821792754452982564088818306057763182665079921685661037134372978909075876055774444592164073801291150466163858233147100059999314794704399780638559318683857129461297732172352500430148378955684035443115927630876461763624315592356539885724247277304893893013646798666862393268104257952375087318228029051034811005514267495762286033146336897715107966476860593008819197013952220688227616812728102055551667794982707325388363011944286300461245582451046536559767726533934507290397273439220819492871995596612185652566126336088362604808659197665837118148477657070982144011628752994583331199950233072152743342310462812182233598272182571013885505338865918214626071763760364214751005246573304692171904315470485978685214713048190649797614349239827598922966544754726873421630896482305456474166069016754113040904633100257711918394685482745552496053969163938703524333658216466450592708396965164421919155658926195989363158509738508184618682192413630864409714918645982702556543616504653909032452592740426485728661196263499846247370082216605528460532284064416167879387971038063626060095850923399926300990632910018792301088203984138284500925537685040565586456123394089936918691805072182950286292710162351344252478165219017433330056335095390807628591903304962434329658419709832891909151365852181364380185451547495928491678710619298350112699863074177150268335563365379321050460253666679803883589923492868908909184338631441698589082158007010721470387650410295020645856023990218169999699923122704116373047486085649875917615402044941917656282583349915079048251207701762695031575893341100048995985510855886062925018679140091947162559860128978109885471164422019968019305933754482274886924649932612916876962601119144069426263043468895219207594257013143962820939646506027682402824505874792466399505400891570585273223512878129457991151922337390067577195414044070547664872652772259929894502646395861595693220353136450526532086827751712605443930768941194568308195813775697991296899480023359737303406529374636628124354569519427149107855127918881389114524749590392272980178602407209253304821862442581711617445785018740584411521617788572902000869517164251133504285722709983124273371732721396769041097790758436919480194341388258675307835350204071701829536485941305089972261069086411603938351787068842501467676725712549809962591468544310271514922363856772618424185307246531572870478075161021631395378454761013193944524443038488943808761825161095157969611279837676477587350574191106039748904229211252155731475037157174209705070289815876192828948966053072002391956886874824968186448559587210325713213489134455639605672260712735756561834317439353963546740628386885711632269354094263214267941251937182408861257825273361069833782722642996602390805833451193275970651451040718939462432565851866049626495848841007289480744476478537775335257411540851114369758152145358026828253433670049774328762782351408895056101963555602772975264446663976777063579027579895802541089489931939827544658369653101887633954842729996738684624867605867424698051212845275875717545945493051449119441865508917767426357947625365881000261213903227743695093682498773829581951098805181257522341909288457687476341123604630651197934837248819705532748159521609017856606825797410873996717771011476585941590342825138913758991481264916687775436329566790483693807784797604882354384376787081110031122885411502169130582797096842091417850834771306340781563355122205075966767786982049172302611422457000151871940152800251239305619002535213241654675694280871251769105911455899219792748606308082609261742659030364112115965878762048678117529138099901262992983939448868248144537746821554991310214121405814382918800618520926048151388519189106900327888026879035104997344327761333710948893895257946438109328719416111178302397573085626185810623716199613404073078227231323782885242656034258940649111762604008229593097372142374274475214383357824519959269976021428858669803102368930713484266636849521436520256742681727678250971758196676869571079295840686484220747817241332672306225267981715880972440421968050353352996675719788013564523239060974604632874305535385108587822962990661762385099205603753865729234384459185972684815206376111166967045349307619631819184598394385267544846040346792753676189804864793758445173120528306695703168954766747248527951865256999954314162347974972559389320974391563492189580313286251809946973267378398923994003451168230874982937574714276038015898951989181857777880995922547029388671060520781911566854198207534784226772303781296748932029371447129849553124016075303122794734110586062045030757094934508470202944869448014554923419155352102309855882668537480476610409929137841292367984199089794356393556734434368733087893411027653424859129474705622929999644520947649423118048934188241264061186456352353481904692811366195446542998511495761053965815103674885923878538360270497487679874503781256849211667868904484049425647035323228633437270130224434584976393964555644941820166490886187322444583856362468136620054818221652590010975704944171104856883778405284436296514840882377269138474488282683710113212593485373177275108926649950573561647188392519482406886627377549537745370925097003502017985359774021502687352167051060720132405101212105842281237469253223023150394263320862133433169576619858884105315549681211105548236552520342455244451412563924011216548069796476916630538426357804342718065800993925681493309815241309712082660272229843385017264684678820618817469422288787839943808937888819375500508042102114587364907147356773834409101697699011707285347478939088837619237706581374109551045529971390473635171252579714067861009819443635447067270226575766247403537867941789597537863616769461239550157443320414751946914856301542363807702129033820563395827743344300175256514762854455956462188175857968905921575475721001490585980991206405429485802114558218907638402946926988550311571999685531594614275281869922464630336550659785080562823543852124110071973189953023252696367843485515010374151435228340597671225471518807950925077964886640826826488043861116244187298627013355047978234229479182825161998843447928903869308341569157938033481619940041011678824647267374832943781340547635244007953075230370126919647807620318671470148178821347081016781487864230325872286018954703147788252976041063279441705628234746730963401308797940094430850604122582959371149833931708277633615779168539671192172518658914984835812468068014230040037955077753329190506254231608164600979324937629041685917115826064643455531029461105175410157145116252112960363002099144627657867939939446884227570112163610184168294831480507325966375634946396739630319825032345556221918905560185945305447246777857278303193905643204839219606237896728257034600517845424359421779774045982646357448938627258503710952042223343291976910280088051100176942995266759844825164092543778147328472386812941672083264296108637294392637040650248290465340183074588358218603850393840171479918008792718886069157085646363253429425562479246930584158644006445945040744387970873564127243357117310956079450176881394568537634908772904168855501826268985992953382134582123291956272446671458142245574558147956251713888650999836246893688040536163618323831144419516129495100337392035301308387214590893002683883027752292507384588417302064381251329495767302859417425193800630961828064691697937560551782013393630628476546651527876771323041215993726956311365589689026164579961463860385640224969870489721488200034096687493539376006217736430464388531231868700186440646598493811147582487733064663304081996741463236556835945754499371977076774730058805234345804655426646906667877999812360904036513761574641962282625837282135066860943512353626605084575046261769867830577113133375309067781757061477275929118167508519970615876939213356739723900868339240905249671502895485711879608300707070924930552696545136520942151527324967419763956834047260302159668039040847255394938778389837331636820027640924925034981403960967133857057238259806114456152292219335232490947531518852964911543286470981492027477484497958224826810889860524024907346092046165576062734069052779116742972376053137966089308031369272265929349603569705592528791778389736765773023234942215545726422556371625662326898007398471243628854653768262837083164681476272798303574091264981780886773166415868018820439784306652534101327252318096298908433465105711476566861886135749867334805420393734707743010794084430882881176396999227760012197472167374639707867981047594156656682333575116656267990030601153029794708464475218762382640246949500362859302801003958795818369460290996384632674000948601422340805099350372958127054527159972914165227807556980884976811321397928912011041481254737058075752321036795027340971460511422442871834061263051288657540733238796504921888737743900283673720276306922619349868562467383569995031219912461297638949785948431964125132441037819154818042492397008529453887005297021306470609557299737162016356053854915504792024280589254018067723801832664534649371416194519306801704210857553854157902450475335012404352791062480729515303889550123763583685836065576869675270074512882860376682015177420605199349185542972616581430873017423887432576063043790399103211249861969346794303001625455891366302117339663696084103308607140301827847405110067501423453190637497364886678372805653065537525448743628044806090794187722977574071421508062689185473344691980154658027553552024383224042925100052973018284824234033697543364078261649741969865659875783459318097071332139565208652970118446408164431957061536500374499444324977244427140795691116585117487469871481250901820587165706567343943970484534747635037948211671943463526751062515902220067420276289841182544242051330709084195518368534086032207177616999156610214233197160464622806272812085379338187457731546584231835970034119138641256189975307964055429000690650263002696032110967852923921235902929523930229474218261021352153373562562125119151152338951242820455921701970989050328219853827448077133894150812297407974630572006986109445314856070868073551519319672287267046015265128837207365783653625505693574116110179593231810410548121866103891547769057706522210040835183322312156417354716614603937049257813370854290684282766746113113633936330374619358185535327721646800091173155030649954667940181380372845867112639002304920314685595844970509592697553341218419276877876524981840051811991527441953657406033273969052576794531817525609926830455807858514342792609483090657492748609143082334532201911572762579507420862621626543639488214403018276710312451484178938948106866149602420639651961007994158850276567611706154009739476778082944930474355406720486578543771229780429278745753098762775754428929390014321176446303265142658711328936706277555361500732404366784924073148702300093214528077496650518765473530781086506044421742038783151324660934076073577487214195023613923950345973822746009627122697042294584823101475177009829463129276998168257474031063121558983067672564215912856899043985614056147246617317771937478341346921184489526624483052992684759499152329947194444613167151823348827601267907337340765130690454216115079181004801870085719070696066540095649830207835368182280398385096966406177095122255978893182487051853335588180297476972660435684690614543006876300573754586613963492576443617847188426747628560854332680464271444331332311672980760831261099668459912206507116331124368620021676635401399238847564376437154302449041440005194411866595689723201677775174250576372399611873060664674889607271220419225427521332427509122710884247132079666353120212090906469912790671382364288625990240142841760804459143257122305818064596043677543987468156605607507128056934980100336242943161108625035050773937937686108880229868047491776476795743480422880787359623201119223997411520756528426883119415788334160944806978977437412141609940601385511595019939627241729329568357097169941733580878459171023627608545920239859129991974904966685890821746732223351551391114819661102974723871938452730068614217959629081870130861435848089887110436050089042307128215452876378376490667482396618937976740791407421213892989203818792462269738660551946258182199143319200998634187533018071491859421379510379521387609946317808853906998612021599952696270254524482658152119398959115566331317203517049539909522639720986704776524242781055173663649817357273652357611735318875831909288656755590448105048319146910348745514325070900040164722245482538571540460711841711432974106641400308081451382588377957787705489904458427302200528625424183914654640073772352322891917551827591226118500299733727221516989056210827672993526829215953751795322776147094996763716799840540608402855921736673538833219692296641027516448585940238028570946711697661628247585450879663582260463930865294487683496072437254467099112533454492195357586111526683159218594837462613294480504485437169003024031637093460382119329147737724957926671778777338977839659255770231283647050682823054917314488886273034243292310350823927379849940071354635794889004828251581272433226388357170259132701590532996138246854427985606547591625746135836416497452459980726021493794391959341363110784822793370005466248462939542378004286157236720451195724426575721916188518110853129210149537986144302827574627489804267874627309998966660937047329502605015986980449515497261485878319755985465335069000200733528464330179991732069820514392071907237466285380734239831788679736613296260658981844221669852649577551944492351593029043179713989246917017780367586982525348862564162082960011139231280729240561235392893118462612499556089265617918251921651830276674886290109340014093119009878713177195921896583103227535779176477718802186570146305453910146137346243446931855774468944487446682418820660471172559368286418629829717060316761958915435076777534497562860256108403892172910036035951336578820184337667128576874877577228317335319182023382493987702270115816467173996087667160602018295794082831735758185061539104717473794887114819814235416695231599028490152813105072705470870989436134850997080356917545930766884068978501203723113452204215411985992119980200791860725195798790543965541486867752505509051811382926088598376609577870199364280538710983693432775754862627822905061809065587597878821940471499223304320539478575924333700281321899321843440290728960042850657640171593465089530376986777580296394086681836307514306298416904189837243087428625271745936373629395047489632719276832755357711934197379155305050459947858410984378395990200983768774219012027667568284789586331885967215647676672869471657850215167550898724399591472501546856800307495446506586268748056656860677100876393251997059060902659764719154349458886066718912629751376938389759803489885120329546048519685331449462867717644599284387300436904671463191434237050928067454530307221472926193459702627316250401103439568611630193939572350618738238820723354128247598880437077565184313045477072760204648413992103443700907330604535353934644622847595133933656479952419784209671227551867063553766872113032009474383546401960132149363266119944874100195218769317691095468108495921860621825699058760375044222431831198069802669702082092513643087985808222676801757441776634621746355830702311842188071773848500790616249132082872285636126225949504011546580106881396627008311790518286012854939629669942184720392843868516097185432418975224551985130053705247693523192641457946320742097570951753375944856111678511833948411987954130329101295167103963173123273426962249077849153658166760139258057179383297033291011893247990742571062159860944022654607532181251799095151885523657195574403380757048881807799072931884820921645183700720324973833544104972653859474778779141265771463795878971062140926807297033824062372388677273796030415376857777934455565043316925759907545936419919438851693698149846276779410349599833438134260209458854454238330968757527260240905755732527024967540558645670827410576127874595104228504155843074293961331525667941741533014931791222487131733816440189501354996382460774537988703306822093974705727372862599617448771037868342934002888703835540752205201468764245467347826943996507438895110047398684660368593614819356082292355645604522318328897293114834689357958947931220243912854544231193372118259794832161780333628507209121585760971562775226595897998381222530206854339337525925708458511862241820937288624427547536930067956888394691718012984356458262711280176099392772219705617574609473667251251604235811040172397362196827819723126925182837294815713308053658960289383651616997861051880777492808108404865929416024766165995082658460394527620406038684307634883493237982654278997195179702780045175378778061481132026857295858002651412033030924984891926819676022291506621038221462007515212997958676366698581121083525447309613618846289557346182380015445366753934208245698386968015692211957808871373449581638264434664425361156567014862210642125593123348105520978418564153060176506539867594661854248567694926271977805929045251213043624576263211126091356788484389534875343508495983169494227630876696616603797025603463810341140591339215120739421251815664499216482845821454409574871843307513915500672365938862981400796508811256153155353841879960386060943950518094886645518033079226068580325608498201297960796059176308962388261600339912429405666903318562574774681941892189325146941465015665277940758352009787546068656497575137654291450777179340147222169148106479241544553262446349668423198692525823143509300577298710806560489087917994009221079202871093168471246084707034412886832437552282139240343910561760570330182521719344923012073268415360420377421338858681402224642840375920481135743170557673191908120908760220124989340660503436909545690155664073070209479696924891859221808407625855614848698406447017106511089866277236845218110228214457463924806359238539165353900635096190327639464324748493614491538664411792029987057148553253263471202424978956874159270599375517968280385918068443917715971420560546980419779191384162609300111090657082799906225161315142054685273265800652723725042724615447329211298413212428433088662204507107504343323089602084265514553128801664663498426531594418064853693359531585883516334547393660625144149665887545693794486425012305955534573861404928702091524980793592268721178159564539042163240905687349939625084515086594493079750218294280163045254171060986353702317946104358475753278627150554855915749106560572003279666160732856288712768086061925848795874149389321716621924698457538156411187373007334613229632120355892134231187789510043902291180621147329580611368347288518424423355504540571845472847539319939130420018467895284507238467698162383341968598122865369223199917285576482150594448959051971567105197463743658551199568270107530998687080849492497035115202030603556719541036263560959584842608902183499834655582537314223147471133868344898541749772973304481533832995291498570270414441919360612686521799550583339231943902395604980269067175142435764809961149635173534171024306066673465749377352434596784633113786845280704909059214170712367576378288971935766211163395095894328880728997273852704611296287333723393062915499583440004442354275889461184360224663722647143824153602121683663186110425757195130033893167999793539551445216197632649219032335551097565064737232727025446935722271028434341484425748883938473779829121947664645802673048126818249244716227944483759037485602381169156608008226597622815220130335882093270774744351330974300440220353475071201664161980985377155736096438527774747102703329851367473570123267327470052113708758723927327302158474683092301163769472220895537031273046345246973241688068443438469653457667743546349273482988382220142563120151052364224121351036808196408326965084752740198844817198983707720787749631797251927296055919195365668451838583678569113130245239348690224698120424712161990412902471035552977761350111781864343807436958441195444891617433884488719570805064393999844247133270013728126631317989702482519298793253697837756636388098850751311765168438309350257210082054811034634797282250547049378107366698549672488498602201052606466521095812100308568675691117087899019074709237610546478607801224708432706439363151911559224946130410657412632245161044292304197236140141454265463468129913461568477645721287847939750505692661293586735155774751698580513477464672439621522075799862858502937088107476584357916573195527920886865033821255891884533567862949520694085725586899968229247198317633140705366363439170136145188359269024242973747913173917785677965343005920540384089639206445856704060852496292403671489852724457070281799888750912203378065734015073852652079175590511003410056003849768672578230140755943916939392408809334081082478115986313792676588752574266406194214702470730220361356149471721911286178246862658081450678708725483260261705215373703818477586987546920065678878565657016037133685439777124768516760516537990781183126354310484440463336836153338718922383658836535815928259387522744643823930710786584572971499798814633422910973108983712980156804510531806442222449005055415958207973162841381853651008518179215515922375182213548387160978263333631562588848123289973158003779529743046171848826778554082879942113696082172098994591565515776293767358194457618664687269089343516879704750639667614457478458389392757724275088197807136256430304707102023848029231306290737332463118113713692943753334935207974164483119004249810795450583032331765692610419994392456419424689211171334488695797105761708435851612046996749429918428250094431007446801606394321089264785472248663461202772806809575074968385049202509417975995470949740597055510918622387401078811556015906035400097352210448692581572685407196948036059456946316406439469949344852388095373361296563742534544401535165640432483538285908141378318761707517393281776623210491281948566140332524879765573874173112181422852715364804689982068152739917272691249277784023520098951769957384783883134822479720317792813818466771383155190156509535683278483706271069533497259575019672024782238534647256693942625526336515405127878580989083228959450863758481621713061418632675576284956137111503570744247551311529207342707140837420666502698572853549261691862082503792679089747286837095404782899264407272707288003412083135983685537865068241863468307250868708841554572499603750780648778128792637322714181405536052348411579867544944016405290222053094439371998890097839386241097768547002301450703072609009040682178840241376856944003484292995421485179409161512410058734204764448874864817374073635421768515274745524015366797957166648720086240381697201090194257322532673543746179544139983321400950535281088603770746937959341647087194913002810319150629311742746824945378711998040013799992485190899303376122192271896994777064048526085433131376455938315714138932283333710158643557240101030925140923584846874790839672231531970549787682224866668468787603957151209747006223553070346526076896195034216883245616275412645677239942150164361544641162732157314486287660894951680003807892298433015217327857554128724290401498051389301098365476604510866254709038354938764668603242022428722855321107774840876462405150337713632867151756316305291896912720394523305575794597962438931848615358184390209266177985041776802891810063461044003168090684187170952394858995797233120647780759427969000718126970024347888639319022398046050728850750366692025067978017356732592451568308627568500638746832688308218827232485101323323947853366411478783144380426498185654152015030820748684618967846835476424902281017945340484719337841421171976325972283215601499447993200251072137003413186313226399873995509591308854176989398607156166768595573505668803532415150796089478714260244792042450136686742573608728866269029025877280746699528609961823071015023906773166272045051075751091169290067311771012059407132156412017544797471140513054770214652072222478404042921170739517992485107001592842466148146990574917776899993558875776028210694818066061086641174669452514289897354063698687766932709753461257172695048535424708676320760611705350875771674031674307230453630206226278159355439364132541459891691220298002444417061017392462745611247521741907162771459419510293972303711934499592745937901771409558077699231832109406695523307898473770276759921175659233514643315168742358157194004425321245908358552576230360915760321449970529344168629441283242510596165903480086135734520543094056105529595196166162777246722906209924293412468078154554009724534855513385896403815077251949198043426424657341681384078724120475158084725330552694787416327214125335263191691774048015110842154570801378498012641168170525661390458592953431000589718492885245889912237614713984007466320054724424976474996160627719653663148276602163879761045026717420867421785732336176956232113250216542079837762014070023735131111863061708449890371115354179453335125810346701895743966442020142142479748827471061983127052338308994507284880258953347727814519037559977361067297345090853161280259561688890311122185000192942922620628915649122850585585314208997305377200416700481766843118826934662467703159495651754940734855508872652824235070516957767958148205985592445380947126317138315534636539956842946402665588798327073871692613355100918688536946194333704588793034495039538467311933536960865684204820793136374646411080130023224698857577459085539892428945655467576594294798559263955679759283548669327651901711010440188849542017022494502702633962080337476570122019052085364992333047938394186845597180797951872203205816179225833346338920737264039670366810436965460002631156663394972581618451422265416270805728856278736453838633081285049459479166921040453280045287050712097659791888612257258498004060721881684831731617648240230206369755046917140170833687407893223977003166285976679985241336352001647844536715401279032015890631748014931994524449032334993542718399211838743406344504448388190930270266523612502780196335058224748271314485698415688675044396884235904910808915937797805995080340697075345498545081824998080928962679689378218704881693363893532271799639509935795909022266712290690799517969793848007371352004208238016763062634760217782059785917286558519252298698589185937284822625023139600176622188547746794173382453557286394714776232539792561851952818245656731550704510688481555200446711941023725638661655058758625421660250005064207793201321302071045857614730166914973152354863030137125900887106329696210643594190812221715698201654558005847177323216201660403359180731429127213773144563079421862577245711456977870435681638800492035740912829876136044293004899922566636354570609949042853444941821793345328946163413183284104943265872526451411119007693370842057632830612137920956246671023049894576099182114380272652967168297747306230628475900535052072470570606946215518187546616530614092459229460871567072507349162222752356954413350480464121074989538235191244515434356075948275409128347689137466140295511522292114669891764815410085608584256965496200088984503023078524924225208218890457700386330909921085250290236092975866318082432843332432286633865409706614774936414577047957952987616116834781495395371235243219623165129877854965630962428940633321423113339241828222698946381291483815368743058615472097043923457774918549897121063689834004940831575451190316036202926294667668222295790059286206142494290172558318538616327644257261763946444407115432361054288135353269137830517550890544993026382245717611363168262993637070466845481961121866410768275716716922998013124215212509292008048060593078104701105153671684581406312581949136493936359884427454552839817444549079776502627012986305535621771922607994560721984601048201745981259322129733723420604758243436483771037267362720756923732048460788697434233399916190530969896387879856132444671798681167764242630309090641846028500851744807311881211466854877123642969163583107401208335175085578211290123527874600843711138195637676684004991983060042315001423177967838085359872336868037020928419295615824347421280816658903639137275829845351986613608876010330163639965581241004101396032729663829003800577151798910715335866227092215460657953058801098277060433859979430606391240580099736517358793451558887586630568884655587654631085817016354589122432897641005911543088593708252098465471556603669008128849257892006871725652418590022048774546845750956163715350401758555973057269442294865464109299075580773559180465353707188829945857815548417090469219698770454293048113843792065273222965993977585891594144430901534051906943159087390828399367327762757747295907348902321215356533233935289601861232396878574348551154219158008843782431064631393549931135794700025072688858364318732671750233429012141019848408535744167860502880820846290334126592940814855138029882106054912466893647826188113047507064524833264884029125813447087094331104029212473697332859984532814942261891791747005189493089048941477982988472943138199636968106663286152228243827826748336765626483167402559530872454333038014995265378028921842660610423877522891815853498135736901327721977118716027078323339513183403205492601971194945041628847927725221950942968337835274474470514703027029896491846231024091926105941277942334617696689550101861595252418357227452558984924924026866555837607863528349947604672428179629894902642498588571040915126719148561488413926668648007332912516866971898818990191028644600685191998688205839371768041217989858372593439963110450424566483277036542939452473779511067342158512403618870312634887708496215613508305840936504724935272337976160985672056639567045684164276438915798816543352444222802436168855147046662265335090119133636630755920161157112147311357334329050206567898638599658030046634202470852125969887580271583931683639414195038115823393032200525952301202570135153048959202233033974257074573570119855746805444560447793400371101617444759866066378790637067461915050547712089411999663236198928042003689639645408424169647098185680170212774081321471531313075301670998873727777615226736011952417738527461955808792557549032273698839656650904038744317656745762403653416695944377083486462679060213805597842869295816295512642183265389112940561390029120431213500724042363029280176018812322703999581263856388569200228364396429718932132774512924038215227853125557104165496207907131392086395664545575961146503139372042896183178482652273167721585812621318208385038531712760633497858450280035768000910065372645551308324376811770715327231821615490650377050617496343611878336266732482961363754617716246646869754552020817960567947139000343942871875127959694939809255129732398854875880598951503080246020843577241584560973133716293391994396273718485460745418076641412758784034769486446796328120903574035546608137983309268503388811615045077906295530910702314223411898336250921679748787907864393500829118563092298478070405439029924327695338130150150797788829170313123764050123708725602949140118472860330605706152343362131702632294330199188537372943801739623335368849152603930760687340011911029213144963755449627766370672449983411390997695093617870674077243363993554906374786317237857847323610287622167356422071711287272154634507079687293549337763848237962390100993280721293673672724776030578211378636313034196960304925886306071344944926275459848362227317233666959712441202842995137025008448759384887310571866080155899328478008169796167897880753817287703537893293517398308546879940097915857123214043911558025179520875624207121118033716579424959163925841344846593026632600482346595051573833022795578935825360742236792876585350152819332794167237346086145150305259823793243728758870959903274131887604451046358531803692420595235878298766689670453083307919944110495041238147063146634502020163968451598433257805688659760390223420883425793682457703926318211231174654546471562539152747321329240809942931666105323921001689544268032577448048785016244886347332064033491470490562859479221405161322789107501310698769598003927488224227314363958753819846491103356132034353469090570253020234096837308655170653927387914521279014722482930290830936021623569584915810445603319698566975838169992831165380175206404593239303349116095474314882592854376996569659879380533548437237640681475523527103820635192544615565003226445916511999796867437388646456723143288934258112853610000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

```

## Значения

1.771
⋅

10

372
,
549

{\displaystyle 1.771 \cdot 10^{372,549}}

10
372
,
549

{\displaystyle 10 \uparrow 372,549}

10
→
372
,
549

{\displaystyle 10 \rightarrow 372,549}

{
10
,
372549
}

{\displaystyle \{10,372549\}}

E
372549

{\displaystyle E372549}

g

ω

ω

5

3

ω

4

7

ω

3

2

ω

2

5
ω
4
9

(
10
)

{\displaystyle g\_{\omega^{\omega^{5}3+\omega^{4}7+\omega^{3}2+\omega^{2}5+\omega 4+9}}(10)}

## Примечания

1. ↑ Гугология BlankEntity (Получено 10 Июня, 2022)