19.72308292331601996806399908324780379973246800944913247681402371080711838241974009562610444146031880242387151158542215117193555501624027854636026142402625419390380983614239594522620992139765694748995079991651790663968226574029640473258087164929927396389929673707765501477620888326006414785881490932273435479507473641666572914939130881085582581498104792282315053577740109880254545377657606354718793642919192440748186458790893726218793406922411814523401253753209185721411485940469035438436912042203903255916839877495146897166080941150342122073635723433506592201182665747381373774949959901802714986635217999189341674920050215976175235803042922248571568778526856927745110677103886451496154778058044828840672489190877420828521779914953533428701615208433754591367520778472217606238802217663851741625481769826348712658951909851317712785268814071502399329256751548081642755558732008771312019272496407108852864591959390496807907974716172569020057592850025937891295258245886474113004522955751266332577222390609943041719386181575046111674832708609673542115753726029764597317197092799771202385746929527839829402393652425909275855533689091105369207220350381858741193354958369598618028803398674869037599112755099662800429078952118148472007373722326684058768425629480671115556963787923078532316785230047018278838382711845341010538099977324811428111298129659299015272714666075688420003053603557138799931276542724320808561458771417194543521410831646014753508858675664212665436034610954843890809585220807269270002571641549000371955385322122353289985034794761585049814210928364217118225151841686251146855276486382820559142423532697800378906426182018691491947323193805619912273256691979254552438869570029444769602752455590851109977613728506706917038762239103683197140065591661179989036509237257720051977317333121072850350550749183334611438226069714859790399494640321152804067562430431685450649126195116733065783048713751196797441980714709534135130928252485165068307275518776902552295149652829560770471127064484042718263823402644917148128242373458636508014458629418371362219855671790524745331165007946715142671833671694344521964161207192265060708101359939426517192446476367884345274924057906834768086088064407075275139315082473350765716952962825331195937755083694923829326397248902149421221792514613130776012907743982872318954244792081431195699408556741452780648109722287817147168118710337973983398991152487934807616622833634005099698757643277318050663229644804755720355088619433553978286897615179107746448364793287829935708521862179737300599225598257946932734607832841579430840816440839255601349757906967654932228154524195144663323737621096692918709667985024239329358603566508206848601942075550317850912085700769937317173001764837727383830733673581580848111033052984766783657055854743246789740879382828996648299684002101583729478156279953423951455185711742949854876935545835457427346167356662697483774092851537943885961289365897197839133286592627080459894055330998422042931071746524255824297092979228637250702336676830098578975973364936002719193642003042485243907739580071467752493185406148623738576012919843877289370967601711797139357556321508367723013956065739661064606041309572807807861507654692063140933449349539582461121190747266172345089705722827194892843138674364577755578426612698310442031477208421265508121140762499318959372777128863932703890198726134507674529947441880784145936159722778503734980201457813720395251368786929916634389304246871701523248539448307240750183808140454167712736200089830758943410477162432017686317217377452354972807869750550479344381977595341611493838353946098069923896678637156595279592951823230232010113269028113174763045807116610755915974512330700439752615184692835318041981390819228412888245367455019302113337084186209902254856634294937453725107396232199371324526658949086537036629838927391748361390535069319531855696383358966398594644435332934950294880899303910317980585482347672086171076383232366343563355994814817260276775271923281189285801243667638374784153473108154667972344055656905726257646135366563067806505493568965387229656723326348584781242695126403212781628768044538356476463920503192844794223795120394072310832317250984296853452160043249695675637937206636376784534398967386677759842032377423127122456191645883412893213458722490902716500055846633350971739159770398586390506670854698864681136970881365575990787505001061496321305744473157228991128839306173622782053361472013024175671178392648875789499609082863198725079556796468408557897382627971363171442739217677436068397751919660746158821091248856479807907872727692004579346738105139084763009915122737930938548421060969997581983485553245561616822703336579845507572955878472819513931746428624188233447621883649249688019193022337190116224461309881701071819554629463757396012028177360480915233468802734798866849147708830889813316801656914783402985263689055696039006373676593692885297543222572475982675477906040114064100580454100390044105641185730879247699122151719299371003491546739591439414854038368800163832223317327293309316128677477964623294957007670312241007903730250368892454862922953948492409590083297660733479641215433289586961258632136813069830976318060881200390088291600855621604915480742931187571851291219405063050830535352046550497878174234705773115745134868698439318587529976885748512085065769979212621147848778636546898212274336024114931435699487447017685953783196204165634641526907078262654055439135350791563166209857499621719945146544192558949196713504463904485691252734851188083996908074454594918520839712005057463622213788243833038745354021792834851350716070454666101342147735848091646889922277526776073285711369693169538197706605287251309117168809861433703708275540253331754956332113346717364075861764127789168683393054832476386795129112205809324221454512404539151204213324009588326695813711942670813641098977176982945040410861678867919375786188002167618256375664227065824175804487146235224307811133198373659182571153444145460147390459253931385795620417272782965905692321284629545902658797706300628013175060349689277476165248421628864115416365781201346981554999773987252008062122025031003391561342853170872525779614565924947596410948711117079974442110834247445000081178817548566972015866297112964759577136186538943063191989907399667571098016243400258543071166835581292850193288165179014311957327925422744970437830539741470578883059234420559969390810724025554201769104991375369693734106817167091304705149678250142534789574428916268779265121162399161696224221050220101256326889581996507560741236950444411962119617840186638163681609070539671308456653109012397908297924227341771651957367992135272246338036454439870601001838637979990891564028678082025081265366042290827783107457502942876880623775572043770489055601070747785763603438844159816896066179727782826940095311867124191118211522096499324629058809138606755070108822376225646727570720768084390251920878728391585013707078965208196312370562414705880931152215224560779637654165784343654804135638679708693378290310827830502130571652234028697312047599188292922273949297529911803356274001290568659316184593626638993408267627392845873811423661109915787364502202382539431466044059291719564837545410415482566475121024058539711489553158665056892853705974663485322811652128733047509693680488048815080310143948549333853454413928754972696512196042582765020023042398758584014840930048519313504207653525586473719825280636759752344356630607592010830081707074100241181460171903311573725515679368201465309838728034260807978121297712710768090861854738909487229655146561546005314013770337432569462889798408354781078405475962044831671318649445118551732775960022316739291820066531437165265915164874489746550002130484728798061287638613782677916296747034958176181849762186651643955327267727850693013371608543310655242494565007487516920130676009531268659922682430387823207806364997383575813745024079798916778286530210870701614228331035764255738502157241379860154939283783490533219444540860506418352127026587884168395982743566460244934774874837940106708956789640879200180069972862000212269327742451316022447528590888620810754231971805153366693379353737424320965304856048301982969031333350457405375293861666040740991388520846128384516080646797152571369367871555096326332752041542259807005500056098869083946182553263394616146168346779655151038479967333920134491206512550090257512930381138508799585111332145981817830159666255228441632317026583131869443619127723678210903975007710992682187746527347090566153428746893744955627270960813327101950802405349734591990115740576937627031679078916124101966135254005590919863493957907861690910413505525879992762708501128888952982738176256798675916958186890230025883053429285161043523076236268889083141677367769332164606138991237611374889597226039007878648286099895912365194427952487265316181427607711809655582958264203677205864694841239384498020855877087085705973071385460757063146856504835359108112888880234104682997708207248384239970403062021627453972145741134509216610434554856689177701661682744242471007478781149949230017229489802900502426524751084556404878841433889360704785023998222776316984084787856790389559511173098470091906147728231814141330537342557373068310409647675965224411908044710969669603136803591123348685002588046198189346339905781610496188347018222659595314553006896072742824930892430754635973390276451997758064646892206023586603702653987609894303608222146910865320231723634639677083847174738092320196906359250325553252097279947191888431784731543036799124516923819901086508765263610954678680861136220178293899727962347282708822856269952420238221617048701240167197372890602150143418581140165722791456504553910716843931428438865195722255273649820319201875544532382675671413325356670579638048234037470337444407962612685862550299040154059725883993527611203228843834609416694193965498863772290191448124538849660303434230437882374853445171015926272839975183436872547289744855880799515756774173056250202423481821160177299897949535848139110819487571338998203184856827263900022906888198195917413600785044010731492481005063114046641585018140568947178819150517883104577803108991484414213832820835029883772267612284440640062516020412550575706867010356690967030735407474312092034250658889904579095110650859865296772658979538910482181969760414994264494973167674708383040691676934597768131256744898537091664284133983623131080402862069023051035465253223184593695423629730673026283848068874672961481973701857823823815998104564862183298404345137087821421155499013661682817483463890152229902979941669958691378196100417241488227116496014825428566502967096164788262959662946293158241998506363256501421366941568372255205899903955062988951970369891723709902009825149461127489779733785466131716262405175624596636769059374387337129180161681228676881755733008642547466847451313842002118846973506483990973678523794241199598604193932147219460759175064641458374740107895960759987254573385172928756312678694136519789275916698949084006917847127640783499690583325469595745147568729841265074062426730135518527595385455848761156330579200558675262476908417699830692782261271585918533419341531928766062901329142855950815944560527548501507088095519424488645797843527829534410002730433404555210848404237614046257721844321062025649637798832819089292497781405901982631668852220423693774722117589823503479137751158185992820365834645647579028992199628685207277888824889160864300556052706149615824817730475788465760187253060835950038671735531957685707876303220369524279896198299850490793023674458894715490758085973575390735008464683334859764219529848527401815033887622221192606600629652920207243801384165950889381228880413022603662824730984807972033450849206791385624166575701636041260976377441488990964446140286904697540931554777444435045703757680826630917232308198518358951765977041255341312422148573452399862015917484387928946576913405567628550027081360609889441365122857742958173222554055066703249049857796453463890515627500389340990783762424017296627628710140931168276744805501893980863266955536450765633513262068331025705154003523877855120629438118470298207354211726736034534864078875816202454409857754223334742662342136448680121258995049225348587855736388237213030343865220889495466050522300783319441423978269859861332944275042377260107738568015944872563149093829008272484491535569234259970909136123988435151654613475912098702581459103049745004384382271344489329459703564243791406715358006482573103256193930506927674937584916370376678689821099348295297908304461584909147124289742270189840964825081823317842166844701799595871187137804574340985013527352506245184403227754790487527183901488469856512657969575511601142720093633794349182782596146401463467182968711200878510528433599630888936530742349708185847266085742485369619024482627557723816435403398432176866631345423180009805226302631982470643237702888034048043548274491321029133633978650988390702328643924085704500958665354594769129155326482633066659946760828851763858302067468796822749120432596431110050104211043037711606949913059413354107210251310386149564921337752977444668734705519796608835146473383121772272929379609489627813320019272009754420360238766204674936608897592015630529736682735542522736146810464359640373834501846143323687635468340009473839101173478762490372464010496402208500856913961119803023198458650742580071890766278785096343332434245978918365314651846473139383195727178869846873002478304069484639659017330344042153431372207855505579448320233584077183455441941441026802859220960296248120546037378514092840319290049585888849906447546685306681760097251641436548691022878037214425492800583106330314642661833477968865401781121690836126995561160549289124564223864313368068431117120061236049589632683025844306096640934854203608793038675287050688298492780554586787468793398884422651200774424457531466108575878046528031917994931440996637497513336626806445139540805000353975821308119561594046336693055641977574091391130162899520434778528810511129114847854716542015965628602721118359350679828802073873912234780121599969040374068800318768236352638902778707278908684600897041417086698746445275463264029161665251904623189327253057575678983774287654032380108760449804687954687169925386029312513846017752096442072384161185971163435561935484478831966460944594381897313131720264266730002861650796906787433458392873064291599963826776407118320894269246289318628908412725131343649513324803456260279654277172984020143960240958077019004574380654947349386196576531147323359040551529047473490557400395646970569796107629050584066046884126129361156890124395455049765939514363751007953612920554735684837768189011693760733375373040661572527822026695406815958666270731952488670420526191661050770005741174622253842816774650467782226525125650360879229732300357201281665699992117391079915540980099498978077967853148603622568964647531179669578166080281871810487056936518628661173497635826230948811360231995592050617226641573158455289722682852708672881170924484945139490457222679444533151777711861677115995899132146871995028588478850792644514968168072925560602125036225309635197302978519477047173423529941872358287871026692231438204468763258002435941520721178022848333883868981451361079957567063190214186876299314007307568261310805264726746257350456032029520794236249477220246862532980567854972589443151918922988313327481642045538772789059381100084032207105382656536668127155389694785731343090298156571878388967501951142085998700686977500984449548029920107272706595369078670164061632348693635843421396497116859066603691964171158883365768926375451524715947475531930783365399500537619662809909823151617270691088207057353133879965166041257189832592642009999338346775078465242584392753001761505029590579380231957583064470667653798816341894499929886345568564770228568063308039130675516220833287713899812857667276845079177075673687201222050331697773113927005537938838096498342521960664150153891077325673310964087000533780497561631687312049783901687416177350805187887708959453404620498371039492068528961435374860775921212133501660171363876368463561526464625662338098925051063363078008553625748413445742671769020344672290895443723288869874457040272928211722250821986050134693840557620633866762090283644216882328953146529107972912032679952753177808175314075858966469775170061844261224717437915035272392051451665716118633775300578428924942443509239790673897402833030863859395490773048024718337444075862410213246859376476995771220250091050953230131511663311436783452954134471434163114182290569755705270278557752229038182089686453772241331686163706413265430174486873044534212861488561849160258519552551803036705654249568206619700027950313515255575707585857501706524630543068952581051034326666892301418270628125412656268860688146437927344174635520722491949299795265846004388979575169638025430180675273860164896448720506047643330956091378722966902725594043478970350913456651020857391999399207313396097508495101217267014930237774515408133487975439798361193584758909209691289594191492929697043063842718324826830130660452742578558491061783827802028915803193469791984036041333535810836495983021468515926212315152648062126404504385745785723960675806345372083655238445496295966012922753710101681952142631227407033841606414068307571644679579106602882282165584643424000937645337334566859381391646422202829458601857219359157155783879021890967677569289129592781736244058920342493831700849643526780069660622132120443502833296267765725010602183690806469457404316783905668918492184990312204342217498266593134589946355830085506693474546373022657160989425688387265920170149758521585319292938649532384262220781683533345817921120927367975340259176910178893805515658735702335579557673783572610700063349202360790861464498973351195255385573249395708761916630432664891169756932138539339683032451382702995005559214972887892122097518047102521139056788689352500761626303058619430330181356327984741225248758667839344324543424464736003170125927751393743008996890868499349757289199697618567008867908409214768792714079227979348532956341259263906028464908619048515808014587665339999423445476288069394104830625539914888114725839424427020228072897057046287127371274040114764688413181229590448547719172026102094767421710927794913825394730966302589927960455963502475405930905649733415757135261066327481899916843949806261207206268078417535094361764840191678770857230489355748879096674175363290747396927164620563647388756997269105474511123634604402433507148244476335560565953262779877330452724624697862952744202156009851361263310981860570036841918146681101550543747417433398651985017409419994799368043930981127445121904787427704513666733837654003506731515720009345928452260222753798863924487653479963500811702305466604859919467974123757290022224544909238109239215563332140154249091064394647968290651535304113534871469532383503738286651321896624075406769372119000182394166173822116782169326976658207639357483569178265714072786295561080507376554121396502513344162141315719490193511150860709166922476286630346885132741314701978858416917205306109843875815202842866965776123708569941153504187356201332933622656172812913548471668948798373411099671648167352921030640986672496059519495459551598302591162245062328750495627683048909128273676004934820876970656880187725781845028445450167322578089674610736952871131902321146040824429379405052673034189739755293291393947455355989970584253636769530264077771887675793674513871436426230438410992806374083159060564459897136111945886657282838268026653226573024862835013020018599908150538672225213887229572806145520102435549142463123554547886361152018722243471083518503908073736716040941642670585022665254587290089652291350944781622011478559767375344014182704933147574014224030255398840989073208151944545899231238646880673834615825634199851948412704145376392898098086680923377508838321183352458295142264095154216790417298736885315958144005167830180141016301491229194182186456030336350748550793935385546143399166880820515463270595077417805801098312511765809753890489769103102210192212731012399395311415758051795859614906564950878319207499793396623345942514347265441650723269541685918009133894396359975038208003696970567010529426380431923474989419612164364043622678083828231969997518374983967790474065673411103644033212434821295429008097873060554888008528757646764400417233174455262594816496603375957121257632352747118547306797585463419708805169148102276487316790233570848554887364303494087043881979659491915286939479138699463174088771521672965730039891215860632949597501252081207962993109887379535033370898658355659284817927432074595976600465232431645764538057766616541418663212997604647610895380426672777174982356579959343725880166328244301697847743265918698217041503086530733182824750997554347441054529798866739112785030204926981209173407845684425674212319775056528569122931768096846618549022644004561016449988579665355379333342425296559144541651135195609666025666465624669192533872152682292468681699190628520970836806272432292839425309600383527105704684890574592395735762533661424272877942433506382755157856057780874261667272314113281011648888320984374318663530721777206074019442369478710828319891090878398556518812717005558593449093384625304775563391332375273287625486564846761741084886895223927542541600277481451895323156738957348191259528484064630775107501304360247720281653898540821143823287127939815909793563357543102491460785893983527236582734570143353283396033929508964708341586078750533873924848520750970963629649438046057088247928065085208739177008967977488571765458494865443673513591806951661689490031895541897546455217187886013698321733026111247100042173510174130973857123409565586589024348927630783054147387298209724342273552399922966320921015305497973979704347852789642872256166832643344009636349184984409726483492475993177119413701558907359313201408429873463194379361567634047288366712768916294316841761346656130945125982762063793869631946661306878995621490817862397690243867587585420008899987495150846716205885842774473745463100415328147456601350891514794534085103720620143823482341376909129323956246745889861166097056845631907274025288421694667489828667685041776818904940064645732480392228429289877857877582084012500276894419174575021140443944027849609341907917975423219323958396328128222891814853889157016689700907875541880405322792103290729836936292147071741192805394217066621875448951035604350861192178885086385942606532004736844395064569697991095453792627645532796199261578072640991383586037367227680397705753639572527553361316804354838515711611488587015427252704287204078866767746732096011509669840790373917812853296381193053151628788254971526461499111276705755524204982173528309236028271121300898611801656924055959981103644464972359665536602730295550357218101420910768278000922151803397456898363339206802044361837406846354467948202849806265575832995080628061595656083376083028202030768231331248755795642021250187940609856138913410972012607089076270176483915678937421862011388350020534086269337981809405811905389277012779604572037291257431638069337562243243843683554768651519772902385029811830853592896690772094240192369029601009487366682442033309836184952766261305115325688346338525382386943558749142190611266547171590549830406175329186844678166598782180067036202054767187652073716325973437821365417268764092695274187612194577325466273185195964270191638904148611931071899282541280154415678409232193583555354221712878950743611369980575874351173731268340211123081824744116283246932578804131448427442919868940562325098570841868986759277866823356346010435390465194869127894582400815372876862206084922943089688465318883517244797844258321097081959197564270919198716476238926087229911285322851475429179504710018798397965419148884125883417891191392991651291258612131733106493428095301610270198131558024173632801734893442432620458524182943473030524341687533096685123255267022366754085893580897031471685157987814700931878020337092652193630108985058874181203346698398261660515866419527055247802212979338641410882087924296442169113251158009773128717417744883880446545567370418295148319470890888821179298161334858099127226377627412671768258404895009986137334528243861144746342075401493587886220773819674588937650607727886349096158805032700390675073312485601609326641796436009562161363837249834517818339370032348781915664214444811695678645365455493308750574219410427241689455300165490478928581491957280411590412479049335845783710499241548302941577134757004433471493214339092142591419689937703427798760540710377096965703504904814376543395436843211263705367952141699023011235049716154518463214998411011540708107473105860652638796071423778428424548306851984836038770676174881606456519281364282325940742811972613492350447907124202875559276121277162864193054306200113374534945089583698766342407127213737063714221539713564564237464974102743336561124556528937354489852270286021319121753067264994900564086128520506132447394086225414570119679784711582391361394399419205021184392015592210694800888929819164101012945655240990353270898621451354867592380809806496382782547093802246091124008303975664516638358994961391158433212662553103330675020529309764375152293058349913157288886879449451714001595068035562784697970112334791386211434218866219681559399198216740722165403123000293765663512013657162500966564129834415228834409080993507621594656969767212857642408696945219018737841864444756486776456079150264762675273337979407043570123914150443809532719572862430042593179122193648493111204648894363629776007679030732671604445655955221044180882258794205644717241424306082997079958741809176665722247348775128673302018002266326700032788805675636368777990341399588900499141921433075682579882984737831742671961949238596450925141657543401721911428729472795958288017877038450444881209900350391356397815370125216111429143916951732598095988802212977288955248922209629163560448939445366388027086303014846510643992602005235781492212666794641970347870709941410025544611463407460924864429666140764167700970305109453229695417532556577303564164238370366136467159942202796029949440755089379719226947192472507521322279170314411697367506300699549084798926286314142315742439195539710279489738120470925805607042306458718407302885754309163920208902965123187678915911003225442244429689355564087865799153550701578701936518002848529477300907654299392653446271374653096816200994422367318853214029692629700495491121405929298530739436132055238088730063862738951177469140829083367656011955972517876332134033420842818291839804258166928003603940382541533106966520563942837952161320213092199763250894890089462498006095686813323480796799541625363098116636513521895140389008380507375164184586493186967611894122423152020762734618217724412512019920544781191018089698475117804473796588341904455792394977424052917802261977223240543682870196908914494744198579927276425539357125808334912990614119450280084015362162519169304544947246348076090861338288864636784538856743759604435682091799940241580662477048375913184021083481341047074526439345581454594001967865245080450278110728815694090774522087740456276774357884862887202801247374833063226266636277404246825420203266191657686917632440587499155291352196386485407147618370056893585367565870735005618325181495048169166014494394368966727392320194724592417944561420568144391539629057985390329403441707350000322248544242559851082652588898661694597159898208115195827438623962685493923453848201901214883750757038132663989360573374113866881102177091715226264253891714634206592699756313161784227937104252394739008570535305668178258013007172905454249209412419401124515391414004838362883181623173372643969570835982386302040854315999050575702757969823483418689171458735913827804614554576791793545139046174453522696381822895265690165199483015863497696219655667768158561817612081553634776448227432691142845466071631864568954259429427561122183982704779055048275307110275448449961797354135314837423931109297890223934257745454958280465553093748427066530427687992803856183704052031318144874791688233579701522988540171451699171289312497168605959084803774726369137748845366331583865154415607728640508306419801306602185072740133497956701695563995429222734245690704802251987586549359245602987013276085515642938508281221338855314607656328315987170246636674584086215786048260952704683155876736380002400525982860774963180824063439840101340232852008783017918767888670231457328156039830513497262226271891210409710524644892538669696102373374303969313546912768635922808155047590203042522558553167346934714902894452887454177563730526412496182583881528738065119455952998712957103961296216715957112876197584959405242773103147229288436585550598028366425574426486269812572532951435748969657787602138643706921322952317044573821155836412297505258504260302046126820583110535307996822245171708782961248250745008719792079173892643403055139936656756565900900872561859697931784012455754881253393673171654691643008742862006586521324839207936762366054026137426542419005769373023346076932399005431645724071794356018788242931031859130133978578321929458821998568909639122489856468234170945007831797282225332939627913922273545452779894947340001594985614159532330438023792400932073909105568130366066866326961178373390416508054707292435261659030443229228691307479184872437234073239823047178169914073219791370969802290580815387207862636319022339337828662120535058905005912719872180878730352947440348775566984256949362511867798594971603720808753087780094561872188697145547444774738959536383090175800897708353391802192879623564723602897705379863454939326389184387698578546715693293050927184829800468928180571333121789599517507955496746845809492645157356629880571146147621808002160760419424384335856024156322499135079699630200238462732571762602025136819006407742211926819846029012652008082535166898981406725957067712942740479002018637901257980117452567396246903445706399249667247034024425794580715954967399735678707321339254414577881516957495440226178903367219600676147217601619343861276616388113018621373122743597662792727146129656974095447965257858728562155876772394748402620245001566130593236091528736695851853922421083202820709720460261452458459270834917706317136688678758316652683816984129684222483190988306349651464900835541953056261649469467529420856367220470249852818912293261591275774908750345519165732289760325570053462749964043080299947203118088699632957406941967717522328787043955289993848202798493487022632371786077174527077884373003153116828886506725868569595908371591637512779801878179637111627308908432896147315194907903116890052541485125176532125352765406044665462224782160337383197145394796385798110073500516788164664822061065914059456092924988537647253483043938336381893175090715262723578653702198321313022908705991112657189697294908881193945350282604681485226264443580390720771320614507331204927797811017936678755264325040120705134364113540703791710579070522269760953586596783494041387671773372053603921767897584266278746898191253432056803405498457419299924991606929063725477496742574996598170653718090999958531154113383812897090866390683523568219993599990651032666049014793568102054373865072958550946476772337716534341657340864342639864110861303307861135248931456625868447396555513169756735302859821884013072714036200198186350149850515700577197227266557278145990048135655037419904856544149840552216563204146372715313740718661120848398294994421755178920258834130735041743609411142971203547810902052071597102105778646760093504390815715668057782108866776821446907002421995294632748357579955020995906234180781734028884650925450016350117088570709652303443002688363388239400876026011221639926013005182515296075435119567308016490356177497712370315107897217787246968945574623211437463816230299042358348309909865438888143309293123091908663475399340042843994042843652516082956409517763465141102893734521297422591144671637841363903773515253764414648768590203716251686600446550412872563756132589895166877490153989472434040258433967121216456729010543087112495238950715980514843033257483579024285552514903253269318147903282778195184059216826886358841231945563259655494092006474073546848230060675665368329502849981908226796468134676987146070740407809384484921181866824618759419456434122235451926443569391612656179187444090660746556328623710534750658462861480257756060953443014548482437186002835356295171595227486799807167970075521828523486397763255440542936058178061653659999492419939375400202933971343551029390148345850749275030525604300903282805671792095789707417897896240405701263692166394281894432379000810088766817962831245137385927769231564362997517039549508303900930458387733940262622019853730126991650727547296399992055566808190056072850568499363628728370396858927769949088950165927859575399083388368894130609185321143147382992857396071269589212404854905279719091571953550034814285589847594523832507824404991004297916591079448354480426742862676462252463968781961671722254829518502430568112065640553612724266971835068958426462535730509761771072973954665013054148871881347959590512877708095749229482020268674363558185385287094619757201458844394989897525966703312254857972818801491692722109602295586868720691366616059927327146664917929905866632263448359474405652006791126579054541635585663792248728433749289658173318608509352466344698376161402608219768125281246240523843925386898747464519497162361704765493953656876894167570628086211172101832170114292190738231589914013486543697548484378720853337661207195195098347656044846507964533618361845541792338269455757206328212462841586108037707967708914780537757634397259546457368107848871326163075997348762557712947987838522096698585759947092130704512936939292684822889960527412894271815430775648309468540876392933273916894669132410700923053161852084784050930895841665231143905372620565029647797350882797245399389703939517859154858762380353159908796401274452844188863006049950457658851692758804241881969336105953777410390064436605089340806079493464024993192530456742500030679907707013007295410089071062114246955432481431328879936349404835154191254465617923670633027588590010566089927935625116135531372954360200740555935653061011453693457420859416099416731596493394728340712453315376570787121417432569812752031701246548150843830552587151332016516756660141403639313552560261226142611427359135778341356188977667146226732999016963975868477244008695926375200959207176033274901065880211174816440810590603455451503612787715847322217164207501811851390632385591254218968913388539374086799749284044230732579921236222657014412670365176330971528009348345071426791827940176681814220186318587598499378020412866908367162955396845085835146429757533865061953633943540762622177227219766698202324610650845882984107552232222057251397380279176027646827562057725092761784738433703630489630854965419330162807262921645289621826367116366732964020804691477852446200507261327948640087308550577808368787175158082370478522217960135768997175669612085826844313586961542644099809896282295379588136439733404699061762882048928172498775763265626316139417353503819081325464168440102772995741558981920219196603119060235737085329677363676845433501562055740776666257891169715421412385205980706938401002074813177310414305331001996723140034630940533778307565256699430626006568374000143126995180495927362933063833672657200505984292637697129420252752658141826104275877372344357266758872510102857673644688180435011364690337064244216267163904279410563263633621392892795382546886271085750268534185814368929058391103925378994458971968811637718190941662662203674960869493585905719665155035152761608089323752712760216913308021292058230407781844928737094550733901474243772705853882954376067412811071853111891388712034665698155151957453610300626735362796751265232424421183803001884556092542198047011551715679063623126442562048843016466019954608271801719059271612784408077697477110732466897115739757132956874909166942809176302434856982823074218815763439092708842987255439191292120565860873378008037402887879040779319541614735314178241280803631377943657602023280053906022641431426205213489159239025276419326855907129299977947266919732199157861403289283548441501589539023135235989992835311373995021739390594429178506114608051422325356273497574239396992080892536708660180742662780806498334496644279605224083101298622839276341802737749821015171262341449993652111947514828335794302528434147229852949150299834225263031682557254417927761078082535811187367321016229218763359625365593941098374156156364521675161217515820203034008956798594212122678365435246221757337531666187572660674228885575789524123876488446683526722359762927318563203091764115620017868107750161459071470158045686596855793280101914052431353535628599083869977842184603087595723365271863184823117881237686913389526086549578454834305401953091147932326906636790041569383384632597956564347665396759183515463627208723940605466540293079892376657079998798050656114893700522989330196575295840792091897604824760767728999004342006345058382898145210878453330781988788925628598054539874806679356442811342682785272779000462677060507048613720676395981274522837158741040068384921527388104288853249976811484763711419156582894048960833185413560310530366466112186919106253844213075593048886866487389327229504005530501391415952469708886228060197286668032276808398157681897101678884602893622885950580396478281163267925868614409242457272597493853312940851949851020495868159543955396614538287387672244864603682010932990211852502102334843003781913457930802759531328279092193330239420701218221729738578273422756856958253789356279877195852100190567809126186870672813086944628943329563475655234406235524469207967582191366506146536267228189026948120817576347608375879191852705400946227375660707802926150331775890963819780999275792867555676424300724815619854577296490796774824925298415685423329124950948225998473513219417987723287886490286444381587814540808718116817751943103494226061273783106729248387363549036164750524042696716596971024802821693843869156184385396717926156669436513403251989534649162251427086179788557244067720523012730419270649144033361539693385417957082301966489476058556511810069617344728709563237770894851958676256272919105949501986437740283368830361986447873775444184419118788515217256989799286383953499500305275647292188651565264236011378968545461886103322958073606666339943457885647162386710072596182877115086672369682702551748695555006604227921604711714026547807675993735829576028121979957739899028742664190795774423275772181556489245829954230067847335562704886662340615187346731826632167009980695489359326754110926853840403609742529441838601666560850939993364105739823618098549512396776014486684223516264761515298434032818641922654545769119827962695707832287828288609336232415440169226179660614484835243407157247985584483801901196759615073272424339018967859652504555089370233192253158314045643196262815797938408370285297589089798067223889611523177033086134575018218033182727985108879061313739361122118315557423954609256062025194755611224884729260441219699055815865714177820120666140200013368216768561623953417164290859956267474664577430907373851117621446187758945637429035098008245029811447443342116874711746396773885521781799726114544273194958266068067994477456423956511139441060169081548243703548878120378051810558463763087490886941100560156635186233038313743780561926551558884040262766266184221440627655783475149927318561253464415072361812872744689488582038250206710617249353716080804625158516072222288820615635889747891101613454615671643364271205201779129301897916539361324584021524700998489173310049834604831908027846074236728695326355984859911216122624828508110712615612992766396744610829376430337653468181128817503740902403987195998900367891228463661664776068611780508578610715669998721028319249705943386250069959709540419893898235483075827369633735650789851286742565372304426190863351570935093580398347178262402516209103522042745822954213490489960065351958931411833159406865468854378833311859278712464083840544718870812136558280110917150361739724478185364365281891539675553113514751707359367142770704256107904403650407539825048262381451327492211916674048742508379150169766985305617769202446678625940170025565680872811821387789238054797895581538618910777932023018413275656144088709763508317160672962918367963172415373230813636259182024820068668697685765963498564116006089284616302343335671007289711566187216753614399375591570115969718151680956681381719482268515326867087215306773313191301868602018139496185480276788484375672583545738772033745661624131498095500924459041391308762183013142383295131244491360156589896080837584948601311635030487468462473421080989828252503848414352266999002495660326327826102791437221768862064650778310066978634788334747962343432021030878324210228325455884672259274095507415206082870893156312569664434771781634691497080369364098540434509545953892657148530464433649548354656394251711726340833469373320115860698436563866609549034549268811091399538770922934519615603105566567855441221767789223214036710586668728174457577236071618781591053465120967983650657539409380918053302546603429299501620267782907541086091939349370852640347443017718160323112046642096918138388181074837750810494728591598415482573968037519002357632406653811567704945158913915117280769115654971071552046524261738222653216637275053555813331343372547928509666713108994182430443523227074353529705987242438632720684644297479293511511477823679963986839036616252697258224309514431556371005099661142593722097194699906429212726055468092948694906393524078981116194830793798136943391126830399546523280370985831124364458741885296923108533983860820223346435248451426232264113550157246258450041116036283563949499667404690902282873255645557486797548074823286050655955654148755581072298943491487309517439573388045358692936644004930999558385706707711283842271713426668117790265091022573800601649847421133194169164043767572221179280776187369290984359028617349136129308018965468646404525054006188677789030151620145971315164298612972015856454420193947815419561438008682305890503531763193505757676223235019535235793798319491392505873814630685010014863850307720277518493305021688440430897140445344714188419944714893140592129507635068115923679503553521964716490223451119058389461138114344314444888400314876301400032284793051345965895228663369032480008747004066967199665885505810074172174861162082546667159582731416214735275855485628915403743022700558334423048040695946520796444804793589892131187330553462209804648344413280835250445963245414503702535052865423271291020642797430155221453452488821232363551763656772590922749303804577359810091204293155645956357167895242543822781027198348006211772269127902500446769928733739656854814369615199637874616658736914832239716068138968294927208583852316847819480560235761069327257384343140945777809900684870860834464551989365732198936012270461840553412018036818342868276286981564622938201952830503432789859919925543246112370427207260854454188946572338633545689999527892118273210183745006056152706499139750794967117390540913182602710913407325880110234957468565953625622112584848772767845599818608086610108288813856451399364032801096044351235721594849801577871550203538734819974050956555719932057012133256914572075979263507136310840285613479814930754558452928447818991661407022867978785118333672624113512798814656294304113709035814576481241595890897575994199158822912361897048114941444056602391949260393280470011177503267205986559202546916766101453163761011052214971425920397945487669562299617487954028002609631602752213437956888472318888897820568196300775951060605251394471973438569263367551918791829065082788530848710734587998369911357337132567995578757829724809979760774006897853921110850413186210973815852100238462462665324403612606465932822280598881270234063493320999518277842981758337448582006888782666215526893078246396884393002877700400846191217315948463458424996418604165745246749652943721541293986224097033622143959108277655300717784183590642079070668243316749946048383019561341513867512822296228190734513450306469871288035726823318237680174696318399607119383251893979469934226658569247862920841743028871278991191448104772850417679664197901482596355132153655548815130587164987290245322207846523663671645522389123079687831546448683453596888538940653032838826617776044096013207014843684877931658155292251043106658215942039791704321052646295570335425795277987957838164975119695318483958261296696974268816202277231211327072617501914805402840387438549639719441286219228485468491908891653718565647427812558326333082228347256966250354967052307754979246140056254565574759056590603866606038771713418641965568746526094854612089764308606277128397552019533113005360710768537487278465776419482108393831442244266158240518331410652352687879804171285263541932973944252835013882991129564590803378117406617961983866649268095407691813120730134239011285172310408985090259138988784276546637361745200334716764110046131207594672265130465622645675534644368293813688483901415846823208834410440111309060795716831982804270340287139642170189336296585695312321528201964358448718680917985670929334436004883915452941306672373102801271880987291219576544871861217338643951715718301676815834894296407355929635238300212801313270843405801647850474152879665616690351156084494104777846413162005526849493282825052874170674911227888620409331657377660527729092147945362030137824020577485481867470396693530617581535660717384736471626240632191112252110981533058904992149145508492972822235051527074307722789731430161702713682279030941691301022978267474255143701048124829991262785788690280964173467904143695377175107261422019291897848036689306078671858376121136156082089138977587253827521493456467085724365139549735040528994492995365253602641375890415702439100379973365036255816939507695100277377218593286654548324608716485803309362269644799885701542556284132984162946715597328625609481676287579490812810575910720871699950039266801882571496153873016145256121319913191795510714153060943434490707875704229289740746704743028754764251607528767205258218343680406290829458865545239930012686086626519341801718938314898542645609597191102874390322120417410404960688378865802564193169762194370469649152501941353130968587423677653618272897610823765582244308127706275153973321170671406716802335501999139773785562783240772450852700606964114982537434724240933287176313024521741347024002525790382260798099014457287150955485824207467868751241284427270990333849813305433923871876891248474985967940252242697047007203041908049825449915229500167410545930477359014106822760648065522757713205431690426316573981182517628173912791653735936002961282071928222957263912506910607195835104216735203353881189089129509620693480436458416374278730234365135056683987888957593312826206820747871327548954642815611364824031450040018536010498733541973289092450374325043079648946626230200777889652581049011300983455838247831666890344517214697646252241858313032684256171101600468269898757493713824464850208422325131870707411749327917252338814625379576149309103847965128753357262528448863077807270719261607512838063020816907735991758788911073672463450507966396578340441790258908645206572412170090152402563723735103828241361137950294904260519839727895994902805186339035795802346425790076655540207170157793601967331719179708446385860669540700500524990860894553594334894903893099687766890690500527452830754303225815638985277756896615517689934939446957897030328063549288997144298513907508922941388698120595027294665392262309740497187296742187748713684835766510528767704926506999742992249541709363583742232614776636191581898382061693492182616401522704560624597585521744651352561678958078773572684950768298695631724382699529186397818608370309308997443194711558424403467284165035544335042279447804882638679170270150607088682901789156327784166428204846205231800941322835811454574610964622143839328034411996732159025455738023026671631516461492948417505352521511576708718833608820865528696675173628457237550456314761148765044656392958054597652346644331521617375434611667362846096594261426281460123867380703979518529819721606839569417744968958651042845841535055053803606488201079639229063242638831983480817855858917054706356752086088895590905642290463564637475713039873855212522478121851437551163283001993871326991131665966339456516782413745579557012542033683060726456270442286695467609143870165489482616944859039075092604938724707146251634345192421161148672302840323889224200818664904810057654437145248351187312917868316882294332739991565227076896932844411461023158275854576918902253586737626656289704390265685663247432960357916775887136775066508208440571391963271186388751304724494385373440209859826288224170398621221875569472481022352449757939563620843892287561713383195333243677406538641761144309361863773047313819419438447816151530874830881078186827139576361174729354889591731038934895571155981838681751842138911391041629184595076995205027451933603884372780349610124275647017573519067203364070632748467772625935444074294834652023649475058023781488699543033821746855820847303147530240824902453002430804207729722247756185523387303816763668146814645876793318495577149156984477689956155760751053816993237211153797360570042495398484622651153504839715936372924417327834145676693017708372510400528717119761664796323486437273276889769153466323604492977652365284425310085346957501305586655082556877615828689717702842086262780370362050648205926283565085700168136414591675871417984290798063127815275774605367898956645098678701222315552582885796035691956992819809065264969993104289069193248997832965792179561286767008082898432562123304649039377420453403705156928403505503820386426591503216903910909022564284285827985066207886964915095189110184399416358552271220638760512487249163976963045623248218138042537567491666583887677797583308645833082620544179557017481953306561400205787453136648738754940273047143749835426277846380223708177911257520127342499893359353600122611860894242343396222564781473325175821078753405813968594496234685923741194680113863496788902579934168292635203671218885620990318204782540856562871198123283984998734628759904736965230612926921890972654351098849664689341285666217034208423134457106759643122509857065656326986964211364669180889799912532444675541653319874013589837944844175400442108362294834693116895050653713704194169820521715864114362440338742134510050625015580093418513290902272488021974971219805796874647725587446284009102157169590481756049371352414695424111292239959435859686322801842188514960844622429881426529576366739032763612274778706234960450443668106039329139224995571034254847324124103828897602380339155396016664620887112605942690385806923742302983644072359965296924850343162385175679337494412344811321412563760680336962388665056392768906434748045226595288592119010413103758917217791726790798053398231310872089803950006003729213216328273209578911573589361660941247547322789481950834850889573080635480969341738423065968626949910894010682273147921937077611522574245782345315843121897023754013523335015501294896803656825330579986202561461427538560950273987477819515497225011003446368109435621214707097250390253016890797008559005038727462154952307804509502645865384196039916635205228337904252921856720223047238336456141338740416891289815704229486866684188618303719948899913336985933449798701487181954694426775288816256292282209168389974597800026305208710702525006843476555888295543536357073389546741226388512978342058164961007117630086957807636687185799586411933297884351582566828593617066173389399801291151838176801573655378976858459548548361253428081252154245730503295690124288711264720184818286339561781669406823332751720986925668964350173721707454192963012158037958976307448069550341965546419214487047427896692776048989648854679873210365225475940762394055457902566087528445351972252342990317912100601463189566147168834227303118996051716613628887898639636015257162891640233905071239696925835534300581365170824226779203448821683152207812984716583344352669844812867605644998089573329041399542335591273392149122045968541419820450272046297941998725889364350846687768761195896187449679159282145735024191835913759081678081210801014305946679989065611251847630309061289683852352667188313850967362909145107561245043908542379446261298039305188341442312484319583635369326987040458634293382946127249573256701773378193340658381699454371106176369176754089265994266037679993512626340131058666439208064983388830993684147984135099578358285660528996914851509103812533161974765087394951963329653173158323233449774300472234269988586132151206552345056734594506774703336442003480798291442789385224292200842720461630685896333147907800537815406594540888041661722960664882534248505197866495242354042218627022345849561711673552545079049866995138693992254349764033906681884607737773726647995509868148302335467115560359510208630165534311373357371596478124709579969770012468204419041037718104741128500335494834004100607560808192776137498660427277767356122116689546278805863064102585584533791552864583526107563711119668767433088757073355950411632886497526469340294374743325394548977305636715851127130425953564147408127447059015294571286614716515550519293657162206159566474301670886006559930025899077224085868996998562337656524389254628524849929490807247891468593056840235360172118202360590980465819599690428023614783891131918530281093289157846991891394066522539423343807540128181208268225127064974576311797220606258275329422656225645314234718651904472534606644832624843414131326791873840555816605752992215936885533085357591847513281964430312971614033266951720993768276507366967156715155250365249510480871859294954464951644906945000421209090018715471806951054567252501149713223408101664119023984073032731518048409119028099128185996692445582327540051170116894859801975996590409638332813454298381138379975654493233399147942620092958291603959175502418968294418373963123559495868030448957194511263581144119659822235631164577938841711846715812192823934031852518385519660076896572498041677740717839222069516256116709337053554220248332547283764863395915109304117777835344699136856819197027043661313723904533277706390046651362209734875049089049242526529018819830788592379985426196477973462385113504429382998694298937879428754742605931803284355005709346592180198690242742173877697568434817090157058745211505022667466389560761573950983675192329508893068017152081542040800485788076271418462155074483519524284664398496022169346688179730716532856862716368239686994719800011954037166448889796170602023990320224495399794119173845013982252280639527609133435661915488157434310703466298759865596480148590260688248711633641755936141149326193995067848603139238794639897675287943109108114865069738974874982492184804929631848926681785394424658169016624958469577997201585605347306174693990046938574973877662714808179751602242162813563142644451202784142558200682890990826480896390083609721540986682101628093199501966584299661481577720796824668361436967040386780907154219284074330404433393540101020290550291565371024682668198790332866092987870018529212108294682176967029982327183652386078242140970493279967347051060530923995961024384412578416886192428233198237553063012089601552185455939092425959255196098433987639769845665071819274300082111951990909841314531285100470227321443032273622510268152512194352706207472061923487763362034021357950705360751238736204446270341090542123195096264021490330052757992571578718438463947946332431065870079182379657116648246018188331430054749251985894028764587007022589768777759419438389872395470370414024993829683742781083080250815925564816986844329608278166630130557471810877758842233304992291967417244393986692484690705137743840515702127516701972083991574563024584906578211831183144075670303931053883055535453853824089621991726425425502912011030753130744645439842500606474970302923110749542013527570350204124744000775715005195126226656243697067894199132999589987489287912668727280521367749575061657040998785335413911199018050009991727392545251640068119985881145994451553611287473790786172919052530354913882657225620380806817154099794206167534389052864207746126516004791195987411238357893705208074829845351022232064011019785187657890293605031360367203917077490999915374709057303923674889090216686159818795371301749977339288505144025285746580227282367550011033719069724061064812508951497869873010915776027177901651872511534997652352923101043114999211345833550100495261345796011519658897555511282895529043957214543813985679892446282761010816898440980509231454611841711368701089073823103580540945140006008723742578553214084564108868100896442346854536751326903114430408887260395562513064865131906395971851133277724132052701159498827257824809262790742165700262727007161716497541661683754345961508282441082615549223045909080012045105987029925449138149549434526095031638323647532278510129503595730154981317168978051274475268154472070904499237374642715397040799144012505235890744218464146307386757643310919298907410115246577814097521675090676413785967024862901532283636536775542041023907930476830872271815753239898369433689812374837606936464030655491124118114337518706858851528058758887699992001354496276710917223988603426525298523761634573944574737480570695690396872707475558721633479427812260250402559860131361911448789195889019730877377385746251776380733035527768122186405174339521224086096014352877127437273688831715915271089633284014848421698444334789988076509298755396869067934402884781998529085665580220040075415284146163279150186346662680590778389408310877886618046151324471087448413833483464053553792894586975393485482478881706075466987282804314432926159084480464181561179662690710005097502608120987765786211897962057669997311746655996142551901285243317626956590638729307205006727204503625140178157071930033619958432417644219370163026272014240891522154882676554018604786628785030116333080127104897024753270389513940322083202670106223320655591111792339588703927284627140850465711571373972301461336679751456021856270134453887687829399518129636576252594684996513727814901229279311852128218170009117478766766525476390742109972567852412295082615462721612905003666262640402112382993455395124409273906541173367225794936524791547793711166084450924616602456562279360163473398208395831914939190279751450574272669346007274530387403867524903215558577346128696753958177418347032276795407632466629796658631589867707507505235119027025917222653210135684120069281395187570161006151844348561921759004738705394768539610459298265611126661926177939736571628360593155171991734111132162072437122732492609393453018198248929209162482202631202341353790598346479600503943478813974052350643607840152183493487450679116712897708304534733129233369009352217132721431554079055869302344420866474995509009535208877797160292667552822364846522295757515827386948563558579566806685253149662998971733588755570201213161987941828829491177522678652608435439003328114887521310376914865325912488724037023194012909673403139824630359939864505846559308417653033084713789794732826681674649841918720251759453161720153977255571081423880676362685324808600075080927215680352912234654366316553303366368228671038065259411417644894117532833076310113843048122786154859848501308200342563840444350258320641326593385486887635412224097161917581390554548216798919008115798622602608874960740431114648213503124790570725864141451131410336618692027454893572850313783614022639975785436307245152205083600412563494917443433527645681134523705013091301697315123276536851115181418053750470927729416243600041067255950431514831797212869346225603317481483206494785243782240988398929266180388558091583938248704990722637301097010157542912188204634039411381135031403533729765708077665676750688600422783552687722687348480103601107112106512306844917677116376795195235698406144742012826864895064259396312553594648198681018569067358668965782179095725509952450552630710637407567896099099351072182723334414883594003948077500079430458735257776613965484673299963725125802816254943769784867765473576750857807264832142267267352771746901473339671656392445081379988618119728784742186080888382636356768397226152972497896539634023371929180801720767706582282239857525865440359051093283625310326701311108301340414976112544029958565781004945981079033648158926653295875108640307334079669019628040237635142917569460308284158416403391104571126730099006520684003654421708306497252603369811364443738959891003738006184139271725144021567528604973893214626470925315814130102387905020464083180506064608094495130491312196773674759668734787808811800323749217321122341217717881946759824593954324719295143160433684257272895816270582560348638040007581135064478167281299089253161009136646046615492080253735682729518366467095728058174289091960699673138749088120389232617693541733428706692116819899843887973575379071093246045152717913322855434387468846164021178979342621946866346681263929736987774325378718279494941912409618086877740585466490557334373957454998727171367929052584723450545033762446002189881094876587865726998856068663797971011938884852221141458251441670533707755732143410691903674572313039138425536616614471936019959637614340907675396281879738206952461603469496818867558873210523974524251317343914127285082012244105561356666074899201473778213197972824829890339335816276583390600961077742144710760861253163321322622179366138493306348035141356548606691765524531310206716215196008966279543285532380756606132377039068254679581005748975461631830655489038905492992489111786184091218082222148446667836166904418663687931485373191224778829318413171392449177410274175251478642549992642868261016876702374140641330276212392092890511572682288738045522602807345233538276726641966451463989542775028986538933627466083924317400572140926656863921476119231007922254354604948252998255868915039739816007552489324678467757030245674036043798299952982163850486918134821818854687004680306846612108109969319233758575865322363684822923462854151162282077314007983912190469588701249759948091027858370743701816409415150867459433072077817969286157946320679852071072986374734084533050583865519139483542219925072732005341475467365853578981709585848521978671468257238851642938985685031444729748978206199304313394833185870245897402401785510261348610412997383093342606654834145959730651708329616739375901367056896634841760273058031658716798979467746073143542620119033616666078268463083409197429483752840687910105648879959415702998260772097354692074426139336123171165172890386257558218400548568300101967557495700099742890779127701849911397315237586392537712720996841340212917401112016235218764688215337654570080520913584408762970057769672119005947722733126429182454987982444582510532833380935495303672219551737189383225146431407899040030817502992340157302352064817244610819389911971985574623157870481996382101724303934739131420664918475800951918242652832853894539184475042871475030090592926423682584194938597223056718890974276319378434393607867327089299011207070869621784441575580570205464237455032553684420323397593230555130506684923308620278793249927273561065534574082561581071564895314472465495787126471199625866982570780767285939508096005203930620675282303588897887147994893530313057809148674276623003880927444614453863065423633912224656066585669156893225634104586466641865039576253852283181913958204511418170350389492620137268564171009719913143655312942550612492690581449685972849210169975015134156467525289124376814700034161265194855168193197710275370650714753527504021597793114876389045443364101115327841309075038186247529562480374158802121381533001608428822115303845947597936701638797663558605060666524631639752102633937282744714986322203670507423704987565407497029278869470364356014236586862143738927890313125796747066835497547799816854879889443629218587151063016103993750243385291036651993536384180315231547194812864465063975927428704128267400593772618238324528163558605225952169590560107679650151608320072529471839499905876862583788139406668669559433424877515701275855250562238779725077138772269201097359075382693288466602655651227155822017271369968431425213945817878645621451051982712152860233122173975914525878312280004858901126433493986247811683420802833158166086261771515160881964752978620528893854117969091313053805115556561719703623793568773630064406298716261920929275682363441376416742275272740768584520204016836686327949086490506301166040671174782393731303407697114782430825136186962610910582329025159112839988643777569225365810981824460217827452177575957124055178619703328880518951494740542183424978785557206337287166643892803498805762077873552836441446465008197370693557614973772043670041350757290904795224679331931641866925308615409281619669297170608060939536422978749490426032919301101278120268037139775216775569083731335441585776553861769451490961667450243619319428797860085963569533214339939215227771281670921638862553698509981554587303924691044932899481378025816861381075435002445462236284542852916705864138997686821817982336951718446970864551832841686308913082101713762188471809118561058932013785854231987024390177527563411650001122932138075509040544292195092785915730174629365081411763793551053309914651031624231440070234728676108914876624416932629500206681806957789988543481444693737674264982754192086139813701833895507485779500012722031675986519794003994356906422203909822737214260865564302048584121250669096134388387048437507609069653490929666081726502742037552153985422487585861273122441375951274159667687007475466781645183773673527307646218726477916698489410061173643046687705617745823321506776561106206114262430159451949135395983188964076461386825429577983755642857450380543610371099399756455158734665615794528652586534301893780802203028708030909395943226445457547491344288396878328945798948749922661643154415211868158275595812652332826983534498711254101563291717353054463127327819460310189777534283293038350803658150016811358206041153027570717757806709714385063116016249716186419205136409752633937075743588117263145749283617493004494138271308654630711871571185141504023067007272500450287538437361751526490991314123318092260179677475673452641192704626784537419514520211982954939450224892782134526858140262953194513565047833145968196348956460752857940717728846044647278888638198515140223329691027647922308840681318309989999439733531035507280082235874350201183009777166268417394058451291292058818795053608763208650057760324917603373468391063262475423302554695303129167998097492130903287553970102747744834980149149922723362416307926009734388613366484105684151683405470277425416864062702826701165732211827467627512667887178339024363718084000470373274123167649857465043767751736505545896028057332409035390386475847451090178513449070997700619316232197211423383303591453329895258624684485750523461240038049972492367649676315965385428273787019716037297804932548854196351667756446470176629223777209539681973213551720423548975530532281540436622718780158483509512581145682506357197695610208041734717124858761509320165069973024415945265773099150840982754883751976902599735101245683644918586156650517569679180018203412374161601875817490090762063705008148415655357077789859986183159246099665747620428348694462521197802480907825142871111658918484815336831364117242021330546108163818640527426077633426995227742003701320632250353812298911141001855463505564857769888691968014676350494753988461531941345836382659669482957455765463403013255158290613610983381349492199865288719878210500669947225961459011457471183739854490435505382402296212185627432706984483269173502697977138244580515505653357122541769240622269100855765231660246058725415886230291986584413646114565566889247101126812692499577728444844879773704252111522316697887419138562700252216182217355055209394369765923672850019194896045907064196639521449389184208137761144346416799876050029889671769027966033251347225246631575432689006094332436885300203331492197079976256273153753641987890925876682545125763927402544814246074844943681848763073729196088813649120697122570407562405144999823917277390748073840895517655741242974570184910263452853538640182459577262207953022061274044193613498166862526862109070533188461939338092170885052080914973468047068461736736714834094857482612659978119569645536699219849881426569198575832782831055219911988200750609419512197942410347817569983290842249306406354471326520128639746681872265480441189481119350900321779573617370142247815796925048606358224575576442733416720824225882306662079389799071602387924633951143039350732825774465506051433611482073448698709213997151356593468178132180856790731211857836268497433119254045369457297957647353157238581185969573847867591841137004519150438488903930857996898954327017877561393995644646716823652011412796982550158264541259339617505520001210177473945118601721563466051461358547655297761154089576858545149591507732340168536857256861201881198149237098217720021912693190924623964196150233971413833893165440596411581544517695782512666231514220438867669022494849035513081704773926444423914536232648243412667824888837646329215270721506703708721378092170049811526042286097335630441593781865896357029409962750695648142341312476958612440594508458163639958169536520543000907354266311444233170380357064313278264178382648147078688251504173099178948033413783246620334229396909054166274828791867981417697194589240489440775827055326003810784880491616888784974588042777757739297870712380934241113434009620586771747266307047202447172461498009822782425520616474136439649107499520192856580377380622946820741813758360036163371783218091223720449631806029690620441438834075660565724346925606588367274849569444867967052611546781972315534156311170055700997193601199846940287404851647550971126931030605570390861662230990120971025965049944966860896664141718144834699291111667658946746949802981404103926458528858409559196686502975587419599256823186934225967975670596981709991898324297013045791390109043759266900326574641974794931525751609446543879685170689196295105075003777273540828527533147316613842212483752347197064669452027826531165389593852546596690445116481460406194025233795992007218277547666926331360131789756818510594025451974186819655546763880286768224042545765286156375505919401875701166974541699746709726048896805223689617373120410664534156001082033387174837333605541141710560813886773661002876789020892168054822579912667730743272575910962271865031382255184083014089181580960330391238984965961052468525145641305542744634133641747608927984522433029419092815552361779785945689523921003952764722810758755067663682059570011326781674755279777405994571757876134730775008623442387963839787138553034796543310043646660377283153822078857356828871886754406893855653748932334266141774312933645611370393299079102012093358482517487968776717669903140734066044670084076066783955040447976610031761438518551169133959652008827618764953379257964908722297904128520828886550531658027957245563813807932228925675017597952181589894502924690777143994549453294806783889819600299878682940852359862967813832694471753644997322817802376871969620257662204465194444968984984199242054068855207458319630030808994540886699315787002327188919680646806807507796641078642140557365665794376250929502877264266754754579054364674614073035828871063571374179510595092875874123836573946718671814163956958775173657515346796280916792805429361006558202271099065677525753701240821342642184412050473808169697519505691219121979214085311954933357176520491072199655011425817518431935738579394037216234197655125114380323041833262077033420933831944477058670605723990985045162650003629329936332246311301415098288482924778210027109525486003641844662446637939026972918303770459822333160240050130049096272710799470834201054844980598964130107539346320531459587920734933420567328462748203921218711112913830131923157192451474736769625095280259028319865043082317841617922668079064490596183856627007308274626197936896764947161385655320967531224335375095027194641718172111736191108307215463187289687513467298537219460202335000448179629244349384463813380481553369008441020282845022589654923219769072847827257141174002703437008817763510348754565119282321191404718670550333308198475443461342531549485833116277256052460887155180979933290087078250186638354547390851727505739711390590293743195664372573403936926281204875801607033857924800909001194733418154406154163841757224729177013473773302667579875721251503820847779734820137148437775879476538563708710444804654130039669216123473390056897989111673840246441107809991131237922013246248694172390427754009068078192516429835921586654617114101068133166122075557605179238567185519744728755586724643478659849994542082863642385501304848659084120091906255659023261392721714845658233934335343814682218133667048358803504410285646912627351674204272407217630999122702785129388576527233600963290085287977756466946776692972813252325473869386671501109309212549351747919394545703648226498548939976307994764143351109678330537130348316110708686042499423510223619150821970249822132021826830853115458942890000117927950116025965153891439689286575574390027025976185851741992774458961258366623568945215526167390069302789621493392529817767135371446684908611478371362677047909834721440560691254305059320054043688735999889089623532670838347732429751441193819362456273790409598892309324113913790499653303821992990692194607722511897247252035133360313642421383808074449122049425353707562912083355736827521181390029602187295693061029242530341261056395759578406254390584612341768285220381657002148867644998891536939865986533730674934490631209805113821574393431954254732492909516257405159939093629964424719843822865980259600663788212756053545476579231599888751849813075286957699124989716685225087094108748658148912330062203100542910199442929331053426635771164402357712639226494939558391577418431826618535426446331608376952008993589766845659131399375289726454348254980595268346329371238040129440534117426482063371481605883111232743821288184555337642699084901494602567048216440165004232178425252968541277505634540435604975697658055207414671939992570555364000764538683340701967915737362784813935959345815352518711926684928984951716198371618917607761379631686939579809162616247044007997298819120149528194926024797610880032904365271411275160080470099097878251824422872994615886209557212831852811242605228330029815659451184711626050230864161747020712631402736677954048552708216709523036419322130728351548285445013731190799022808878692041110749682167563319088213289445443526822768863719670347004898493109621163905947742905266903397392884447876510510309817203639329541349006911565863009276279243659159605619192494303011855061517960350230687957397355986398622726811242813025298248610674841749104881605522975465244208056670434950933265061761958299061060033162940770377830073309377494856232697978051706402537611917484988630467143138531187782604961869892464023405440280226691622235947364615627633854061552766889393131024989749762840164125160060688466179911297914918970424518171022932384504869897930457280459778993844838755991657665028946817953617296694336747506838726227143713255895817500914263396871644652106491867769301515743991646432673461539469094092527164613144150081983796708675559705864936264858115079612443714790639542604117183735703257188562100567862001099043623645368145378493889435884640675738558285640567808016257986907905169897735161471886687371317453377622272069768618371425907385982217883931374021125156034219914045913908593305293916342309235447182373959829472444517328232611269386976179799180326636563424135325144419256837054473166624520731431236122707235226901754133116058626125729152811893501824297969410326998146920030477703678689693024724196083777833593253299770389568822573885974457909543446807692563667214284232632427018377796955774780578286034470219598517149290999823853388601652706177539736153100984191766062585598584369771778191972274421512245305291270050817436008626836089586504553957376380332646615202743541245883026830050357394143268475203688982960941722890417667648061062982181911911879569609565522926875647780016260569432974223243577458471855450272912126955163224539635975954693471236677295043765245189565399565618918707938400925854844680949835251422157337628066673050970476667609771592996061527891082457963269242163106584373920007154364036145737099904842191011751770374379365065945805606304565343534515646384391075366229055636310920599677240136612603275638964523102616273040126944636058227278228491871217404359255805635638236261575129080663782409144860751175278445250126972685177340727393963996919677049749924302695377527715302030977613134258105600024062962699541448277737632139429147508932631745764612769460614835649670282696132475224537254416667964557042927256784641796248273411424783289119894866005488279132010834666536266763397761303796865618740003111907818455838413772348393155494032846654299945624901617332660895945964277885693808199658876749504420205028095885749801495174165674876303638693820769130357709087176837687904940373275818067677431525705152275309500028592602431566326523121970945394931011677038966279066851837391684192991146097147640855688160463424701517872730354137141631785448529278225642294112368265089303373425554774538047004360991844976706608934168866440733207225869826523031924230938067529170373561509908682104880106567316914870212900162882077941128526680668939523851717768660692421172317449268525621546978515971631622066164826107138183729350252461947321894517133578791171319304673764807084206366723264993751214509686597802443376615430534295806776832978580020095354244552509120237240164559326531550989283554173242302554295920550418422550388358406215758201111848301771961456573422888220918036110912767448705810506799903503681653678126089159589134478928240702462221827293118134770909718281324772307387424482246021045802041386064856651739136442765746536073015302530327928529249886789521094957071408002617713792052893423332223381802995522612373186150464081000702789999379416229152103687610185675267424250554549269174498410015245920264475372764254406240053301287270793453363424888262742857452488881270658285210074476869711647100824173515388696059505741137350063938340131115528445308337366134341379279230373468788359264320198218491470193558732333411128999411910736258552524659647091936193311612115401640403170706489233288053054641990899768804210610177394163484878825573304200010715555184201363625572169209296549574936527709172997986748066795808062685997565788840700879160841047654525402568122305948122589555618367071871730491155217572820239282374758700429340717006494609154959249711083715468356197191483933070862317718661750765508261620127894586401386778546569500532435529034409557301666060608101371631037610630773272097006711229040168831251562495132356605691305099249973551145171103782137884526856861923276711120014874058387338386147421472274522341691804088470698473236237627356970881856263523600461747101389855626884254116026851830422721610335466107625679418937940138442711793079637583279070299566413321748225300231830548026315201572260185565152023366883066579360567113789188668717570487871111854732487267335181897350567129083662861396788940875385714206904036172200059947930526615101030482881727266207286674660324729732077382489168702719813322464863755926390096807738916449710806874250646228066548659843690136004016497520292067999934969340053114087451100803426027506993013139810471613198445787297722312416021797810191600239884471177461550569441273446220509215748486296083329575349774743757572056314291394631232711667930350195136204678790940198813253085784713148577130717901079237386112457810604622445341905969412379355027138944587059354045468378154119392729876505495155689944153324958907711961994595304656700657541988956251429870692516092048857755675640965244607392601045098349190972095617879649743368027585388865642272753476421146111174978057952924919123048782418563052233806736409941429988547051909671572364900499871535517522100548274277288035410579235769289027054789045487650865845264594396329733589184422728307464722280278645871909697465475618397999879332463898997248915558538889093724132983967699387883902399799630093909188551345902772000162618220054456454620394466881023635120470814142349076961093670513891692142635153888478040396280073228177827164117869256932492296398530584344364100140185389589472363175763761823905732797196366887781417400510180878248501419591044592975899890112498018215487027021382432517355227445962590289850363679132535628268106504315394312710838375751731743782202682480950136283261743435917650500261060831187122693535480520851051239560976179465683808374032146872315995187751725309881120382407800074810577833678634911374797791420336206473966702134922548863117124837048396745575195372508613499162149195662535711326698750384891195698177251827596382842715472198144598014878535330510101219938193261167937194791497872582810217427361536835844062664093749616449521044950309443083320491567884071455896151431530754913537235659102776534766320119094520604496284426253870071362281246200157364463879098350646232371930433851832127905246904221611076750256946030097865787864939661096291873490117617876622517010707970836340193468523129006232015776877851272103502521750183376840466552254930102271204882668291532432315813527261123051137213182157698469153003005643019861366503039946774096639614338795794752001720884808548143915769129684705109322684948302050005660028299393257527751979820988427635626502878837774676384443293445684443256761982931598701160257471123970029280870235876363131435367507283287203649519058868352041647076327267910141690446174030076663706146831411422044934756254502985086385954372235520806424798334127739139410834327643798449648450426484000203713902842570637723253408764561649099737058236449292029181261974829877746341725139572802899928893804588391770223614422334203507779362647296995157908436361658327454930491093889883608700565048990403917628323932473841337198616188145110703403722766310006927792180421568958464271294557123417123001834209665804077362556338574291420797706132546154337872193081741999497759568470438018328727172155728564022600913046818284748036998903864669894901425286247731225397883097452155535266822193669041371754487437597929112602445437598802257127866598076597932721951208035380452136995470895686302865863339406447456901400071013182714095622119364550782133109346777575791477019304331527859140896486400631933150243516514460811400773707625679607797513069688555859352722639587886596690221874552336330614720533625541512049083557193976898128543616341214011151505768902423918812777950661636846175951580828296346728911782765422463499671753889635956653629175778058744797216334990104349192793359172506040578682659733186236812054014238635635552503669245310201370490800814243736003535795251594685956575779717578291746376481641380370950544018455354148256890383951692270803416942672695340729250857275260378391658536654983861285041180743289659184178282361337171482745907078424084986085579063972892877094220987167120014749704313299613295745384443360672649951163262658452562524138040903848960601437407023820513194982798530745626483938927250365241752060489596527026397395770039736779486010811043096434931049712712030231962284214421713799499864443870362236695160730871248363376615266143537420709731788630297203214570949424620254572634274893025295123891108628378723544118675056095944062314660529009809843227091830481920818496936941437775478152963322906099368103769298689470240576281155572751064816965413311154119722820158277484254832227560297665377343315370967213526179539700580692979755769286445764610792833902405836176960853554032310636231821058610686660628198368836894178220825297948794971093315361649208734311317936440605583303114516752239165498423760621017931059854875808975356435890276623448873409237389518745428358823102292884591361555386703547313574972937512784634678379923351827936837974891241961573255393222746826538931389602301520091162151133317210259069682037745044722364466996867661332690922668231425750594011487005821185676272286069078928853244602267432749585468989818865199495062423726021782213495356694227388447182628903582334574592469819504268476626110919434654080161404520925251550203002395088529937516463352894449030709847448695358326243526973494150646209015214478642191099009807223359135242069101688712954022143552033476409021666275409099456453422463186170972537274251922550147377642807580772020208016090260060923221173499490808116057054089145439350939329698333816244656683354156920223520754529577546840706024886392101250309325259375162934832961878505885704023394979995554924638966827388727396482224121402875500448552204097398875536211493130787100254164804266423743625782131439089597269102481560860929505801835364529594049932403672401368019634491661166873890259544466659404851019884449557327887885636968048021338824611504574044803939920182250034391659129076665900292094521399167207857064191878075379236974696552299523327088016051751797719393098649014316198169452978458859708904641503262349435390573141895040336440312149742627248287164388406555769651467537066664572893140605207101753227903588788270643861991261243178425674447892487085540553776705305079031939926412766249048899706504463479806645339899297937361462824415038877925715396176247789880295314939376176828914755394844985871043669427325312081693614796331753789470268490518991416612510986204272264835820697960876823004848062555075475693109573861789042647283211531680300944735721055683077454035025742936245457861444842203122032311260555517485230852466858396581843413005188677830689541855929112197035594093037959301557246448170591743944113269816240354646288318842075390724855339398462388951561287067607766557796269932527719544207429468494286286479867110860886907563107310540909377325577320722089164222414858498565085154189585133684739480405317621939964589119969843107459779075675602447249212245421792853685376018646534501145518271470243608878763648148568323517584396292900806949769519795266002295184768274976361636930060903582465746922623708616277432401481609168337837396954076000641901354483192144953244757163337078604985029054807263224187432085550778444324059978319399376343737789684508079824482239807530404687869169675168582557229477533157125798829756413096893922911255609380687034444981604766105207552013497673894118180495842146932206911973619080551366989679154236211425844158961535368503352440339647618634223259285006905505847338352985193427909485225804311461906658090209551552861368909391158560997246999447286472531919563288507414989563258069502022635025332314523715286434922636781329721850308593478750701090252306714765105726376635134773664202971146451211100517343484624522435073770467865440154853965016976701244496017110659834851419521835205745681813366480782674281701528852780356069018635635174491599149114942660169603201174852105486950445949398692316236461268409597621147816132911643951814680196411626019571299693949355358432969668336115188723915810023779839882403233076105342178515094616114904177555008457165443525447794211717388923918497239649911554438021444219822501496308107965092553478978376881378104848915613991135050864531825831345269030611769069025526256959777036948539784785211319372577330637338118288363840845107646245416740597429790884372958039429386421844890181345631588167752417952446772768767118504699572512219082562011258757305665077650892375732025380459825296506435122346465470360945788571314560325312501401863572229127081116349282807269356692157350211489891342262888742701617791399336965391649277803903525938688940016072788946641176798336360517099492785694405626313120630380191891377600221137305227794736368369965225589582207418226960239096986979164394955051157525789461348682505187334188688867171997758983399756188873023536234994960581171688486166952630405717767542478205668552320002251161600531748269901595771742354938979866956166502969173147056254699600858714629532593043844948434454937942681142684751781941916955103220851923804037576309126613589964483287507482985132004489032110977007436932672028486295350309739607675194747974228863153854932760497188447609026029338367919087370069343552539032967770765587800671659121919571697449993178630016723322457078110229029461525655081914366295260642875017552227867913796109400115573031242750092899064316836404152309575695327006308088147792606127304346661794908497606249327168289464420826442398664846857714047559662920666540131831176895657092963380863581133983677847350926832005507081916524793783108302142200980062938018019292839571549292421874518728646796080697116315600074714299839834622309637823055942787054162940129704101363955187258541891293237200094632572538949261041413470183669796010996534515540580596831107553733476489575234264311853152637466689494454364769363476348079109024097579366377123962985476429992361236874450423518777124121117875890478298602674619285926215108528137907036441756797140402005963938354350318753245050659965544218357252689451369009457349573551421261394637107864764692637920828030314746521548476156324469580896522413593725544770088387916461598063961603304838092117096289613472668164899828117944828381866491710121332479773509337385552993872499849378756498104611487432647253491718129160287540317824074164923817743059334646158674876953837613364450458777502464731994687245765310317092914493045227241515736911933008452820848201161706844346360562913058914885739367449025404447509390691841018174753994789877206918430242287036569073463423818590512760357014042034045779404198636881396252358804923778931071570833407647935539126251944647290511755335839896608462803429761632602697530179568133500575496492141803867791972512922814574360707589548426610429534840511447277576407835796578491469748062837234473912230978673327062945304683771682088357957969406274268494606836986338571777608415437388407853830658399488014246711468217778348903474684345555684260398613566010292068015790481507832305848031865558127460157542290541314733894090724486501242839658380660431139897792411163267948025259335182303261522626896089091799917013809529367563599256194413836888249835817673266600469313153239395887319563903173490612968345897228595164903822358019778042472305597821179583989597561658088594198265184285848127110145657889172739255995599372924091211501001381536166108688311929353277026968793388970673126447722388242284837522079082396396882449122001115580763333226948893590610686409302707199506132167728316476329148781736848287954948403522435262474665141316860351133605154549612936318038647301352894391134607268683389589164538471553157357463376439982497393484368322604991270101061019050034644868183769211961374045206080610120892366078038451651068194916753760224034855733941147304991950773811524533127479682541993271990630356880687919517365269467339348655705661786906329647500221230656516990948830335852500510034314753783788587073478180636869445379318505865200611934243693546635137287799277028224441224265008079236617281430852980445054901084251572255690178668087337028486107454977938093274629166596106859981857143928604244750784775954799846991684049586155620884011343289769486576608556251873582507344658224568790105490162541572868358198572810638038918048250299455076863884285821140014711021237463533136946188785254927011154676986257717977806641989563337273964531647158560439996874376033072336589616487772985913500093309919795245917384551194000010518109242607658590891544916097176505489333177096099861049032902081566986464687227499454176559664334964919221532542579161923379520059671973580075043922490286880352859137426715684869775573683943529040584310152800168376593316047031797527307535958103221304444987948182324174576905560533617300503043092206044238567212608452826980255230296975377845295404793458803701421032335754654098135171981216494677669151323526457217442746460555111154632131089918432502054742455209264125049422561390696137663306582396405817333653356944830619483677561802672641757404371953058505329719606310986190857121695585310158720859034810979743791021545372601044149371712093322849537609134884292738610297354873783064558309664008471314264031878178586376519891422712444046253152939245712668005497029118460824849810609365521626072354312763860946665486917553879317502360819496882054701648880545619307823869294710591241074789780709125507203140964293903671380599275586498495927337061603078041952082965604684965363362044973876918559861814579796792282285223840136663201683096673922449838001372476901173040648163834576459162896665638746326565517802105138687738308615297502009488569009035273009985183725705062721017518756328186165747879094941461351387881944193552670120072500907435841641542360866500519793583326659108123929143718804485079277212537984101682269321189127371981075822881883517467210362058252025340268884671957288789535936712444243341590531949809413894957037155215486982072384110855900176646928676945468557901522063585323476749369458875465085046040821535575572286242396926695298578400714319536994840672595460437060509059380447925198264603590432375483006825324125282187401978534142617609104473874294297931714774211816805072383409808507771307103875634730308486756573353043765033201926888374858473453349458807901207502491110663315113432226159891620226200233506309765608458093616491005412633061496649106054951813825371036932815586401695096671331354082150782513713120917036349810122494385806441044639645564449502502574480900849777718569325942239036074913971590013540798506409206197934397771959657286297119940747770051743526819142851624336249400453468052272378127593690782930639870553894972393048113616013796672564814923665266134369911439450063473534268683905155115363547205891477793404358347443126836371982920169636045088737014833059565583238083810930188978649562897045501136802078460417672201280036737153276417371901449867934067001294223112083327176877644902740003202427621362383881269370003474428464201146517641510150198244303965110436089553378829814838214192428021531187077360269608473067251084420298495117095137655946513901262611745060495376613846931835802421616835178531438089082718461410750499954174403908695101385799044256899945799373730125462817374192011086945346746414565745977619633170314508697652919823999447085918965538391826129313626719993066014263731253632741918252631333404554067655549145619979265377209434184681835480740209229073598607960202538701166666556454414622774308417749797009522955446935033351606829125988102546077476139578619549448265300428645878528076277453639569573743332879679835137346313370373412241809408270508773643170306016406207445692802041368603201925739940411193343691379916152413713896337851244359980375005136465645950546958994910444625404173542621156742379371472323104379054144818880428280023870816420196668866215876089151464656769662828338842095068710853517054227178004009477791496509186473940038608035470904151918685663965838543302433016677901088532876277716109448144887358624377169222813779688972486510435594596076183565041821409605070868758535773777006039298882114036540062946295754964609355987555254938884633497333700790890752979353697805966200894709382499792419353614745894572909268271031626666293494877531227735011507817664940317084003394821279930502793911078595439492726620919025005002581826777202986055238942396229648385274497752779472521333785114415613091429457838821009752353773873291307387447225795226216489520109454147860298343099142848468657054274903642811955014416763259776731144608037667360125858888962003097456890692676940717211904161883241563109399512268424109380856744135855280366303704703419048441699846321290637575329232230945751737005517357408628660952323210611524088666559051490014474278190445592959163251910680923357239605102394320490102989567177246005331377632258278338050533889502376674076766442392085313207037939219024317963085982078891505671066592691630643110935991181861370287598367907571436303098680455633416203420350763894342150092110172985076265063177970048451848522805594790070220952613405610714627310143819377341681790120914217437824104561802106724260