Первые 400000 знаков числа π

Эта страница предоставляет возможность просмотра и загрузки первых 400000 знаков числа π (до первых Четыреста тысяч знаков числа π). Вы можете скопировать текст числа π или загрузить его через файл.

Текст π

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198938095257201065485863278865936153381827968230301952035301852968995773622599413891249721775283479131515574857242454150695950829533116861727855889075098381754637464939319255060400927701671139009848824012858361603563707660104710181942955596198946767837449448255379774726847104047534646208046684259069491293313677028989152104752162056966024058038150193511253382430035587640247496473263914199272604269922796782354781636009341721641219924586315030286182974555706749838505494588586926995690927210797509302955321165344987202755960236480665499119881834797753566369807426542527862551818417574672890977772793800081647060016145249192173217214772350141441973568548161361157352552133475741849468438523323907394143334547762416862518983569485562099219222184272550254256887671790494601653466804988627232791786085784383827967976681454100953883786360950680064225125205117392984896084128488626945604241965285022210661186306744278622039194945047123713786960956364371917287467764657573962413890865832645995813390478027590099465764078951269468398352595709825822620522489407726719478268482601476990902640136394437455305068203496252451749399651431429809190659250937221696461515709858387410597885959772975498930161753928468138268683868942774155991855925245953959431049972524680845987273644695848653836736222626099124608051243884390451244136549762780797715691435997700129616089441694868555848406353422072225828488648158456028506016842739452267467678895252138522549954666727823986456596116354886230577456498035593634568174324112515076069479451096596094025228879710893145669136867228748940560101503308617928680920874760917824938589009714909675985261365549781893129784821682998948722658804857564014270477555132379641451523746234364542858444795265867821051141354735739523113427166102135969536231442952484937187110145765403590279934403742007310578539062198387447808478489683321445713868751943506430218453191048481005370614680674919278191197939952061419663428754440643745123718192179998391015919561814675142691239748940907186494231961567945208095146550225231603881930142093762137855956638937787083039069792077346722182562599661501421503068038447734549202605414665925201497442850732518666002132434088190710486331734649651453905796268561005508106658796998163574736384052571459102897064140110971206280439039759515677157700420337869936007230558763176359421873125147120532928191826186125867321579198414848829164470609575270695722091756711672291098169091528017350671274858322287183520935396572512108357915136988209144421006751033467110314126711136990865851639831501970165151168517143765761835155650884909989859982387345528331635507647918535893226185489632132933089857064204675259070915481416549859461637180270981994309924488957571282890592323326097299712084433573265489382391193259746366730583604142813883032038249037589852437441702913276561809377344403070746921120191302033038019762110110044929321516084244485963766983895228684783123552658213144957685726243344189303968642624341077322697802807318915441101044682325271620105265227211166039666557309254711055785376346682065310989652691862056476931257058635662018558100729360659876486117910453348850346113657686753249441668039626579787718556084552965412665408530614344431858676975145661406800700237877659134401712749470420562230538994561314071127000407854733269939081454664645880797270826683063432858785698305235808933065757406795457163775254202114955761581400250126228594130216471550979259230990796547376125517656751357517829666454779174501129961489030463994713296210734043751895735961458901938971311179042978285647503203198691514028708085990480109412147221317947647772622414254854540332157185306142288137585043063321751829798662237172159160771669254748738986654949450114654062843366393790039769265672146385306736096571209180763832716641627488880078692560290228472104031721186082041900042296617119637792133757511495950156604963186294726547364252308177036751590673502350728354056704038674351362222477158915049530984448933309634087807693259939780541934144737744184263129860809988868741326047215695162396586457302163159819319516735381297416772947867242292465436680098067692823828068996400482435403701416314965897940924323789690706977942236250822168895738379862300159377647165122893578601588161755782973523344604281512627203734314653197777416031990665541876397929334419521541341899485444734567383162499341913181480927777103863877343177207545654532207770921201905166096280490926360197598828161332316663652861932668633606273567630354477628035045077723554710585954870279081435624014517180624643626794561275318134078330336254232783944975382437205835311477119926063813346776879695970309833913077109870408591337464144282277263465947047458784778720192771528073176790770715721344473060570073349243693113835049316312840425121925651798069411352801314701304781643788518529092854520116583934196562134914341595625865865570552690496520985803385072242648293972858478316305777756068887644624824685792603953527734803048029005876075825104747091643961362676044925627420420832085661190625454337213153595845068772460290161876679524061634252257719542916299193064553779914037340432875262888963995879475729174642635745525407909145135711136941091193932519107602082520261879853188770584297259167781314969900901921169717372784768472686084900337702424291651300500516832336435038951702989392233451722013812806965011784408745196012122859937162313017114448464090389064495444006198690754851602632750529834918740786680881833851022833450850486082503930213321971551843063545500766828294930413776552793975175461395398468339363830474611996653858153842056853386218672523340283087112328278921250771262946322956398989893582116745627010218356462201349671518819097303811980049734072396103685406643193950979019069963955245300545058068550195673022921913933918568034490398205955100226353536192041994745538593810234395544959778377902374216172711172364343543947822181852862408514006660443325888569867054315470696574745855033232334210730154594051655379068662733379958511562578432298827372319898757141595781119635833005940873068121602876496286744604774649159950549737425626901049037781986835938146574126804925648798556145372347867330390468838343634655379498641927056387293174872332083760112302991136793862708943879936201629515413371424892830722012690147546684765357616477379467520049075715552781965362132392640616013635815590742202020318727760527721900556148425551879253034351398442532234157623361064250639049750086562710953591946589751413103482276930624743536325691607815478181152843667957061108615331504452127473924544945423682886061340841486377670096120715124914043027253860764823634143346235189757664521641376796903149501910857598442391986291642193994907236234646844117394032659184044378051333894525742399508296591228508555821572503107125701266830240292952522011872676756220415420516184163484756516999811614101002996078386909291603028840026910414079288621507842451670908700069928212066041837180653556725253256753286129104248776182582976515795984703562226293486003415872298053498965022629174878820273420922224533985626476691490556284250391275771028402799806636582548892648802545661017296702664076559042909945681506526530537182941270336931378517860904070866711496558343434769338578171138645587367812301458768712660348913909562009939361031029161615288138437909904231747336394804575931493140529763475748119356709110137751721008031559024853090669203767192203322909433467685142214477379393751703443661991040337511173547191855046449026365512816228824462575916333039107225383742182140883508657391771509682887478265699599574490661758344137522397096834080053559849175417381883999446974867626551658276584835884531427756879002909517028352971634456212964043523117600665101241200659755851276178583829204197484423608007193045761893234922927965019875187212726750798125547095890455635792122103334669749923563025494780249011419521238281530911407907386025152274299581807247162591668545133312394804947079119153267343028244186041426363954800044800267049624820179289647669758318327131425170296923488962766844032326092752496035799646925650493681836090032380929345958897069536534940603402166544375589004563288225054525564056448246515187547119621844396582533754388569094113031509526179378002974120766514793942590298969594699556576121865619673378623625612521632086286922210327488921865436480229678070576561514463204692790682120738837781423356282360896320806822246801224826117718589638140918390367367222088832151375560037279839400415297002878307667094447456013455641725437090697939612257142989467154357846878861444581231459357198492252847160504922124247014121478057345510500801908699603302763478708108175450119307141223390866393833952942578690507643100638351983438934159613185434754649556978103829309716465143840700707360411237359984345225161050702705623526601276484830840761183013052793205427462865403603674532865105706587488225698157936789766974220575059683440869735020141020672358502007245225632651341055924019027421624843914035998953539459094407046912091409387001264560016237428802109276457931065792295524988727584610126483699989225695968815920560010165525637567856672279661988578279484885583439751874454551296563443480396642055798293680435220277098429423253302257634180703947699415979159453006975214829336655566156787364005366656416547321704390352132954352916941459904160875320186837937023488868947915107163785290234529244077365949563051007421087142613497459561513849871375704710178795731042296906667021449863746459528082436944578977233004876476524133907592043401963403911473202338071509522201068256342747164602433544005152126693249341967397704159568375355516673027390074972973635496453328886984406119649616277344951827369558822075735517665158985519098666539354948106887320685990754079234240230092590070173196036225475647894064754834664776041146323390565134330684495397907090302346046147096169688688501408347040546074295869913829668246818571031887906528703665083243197440477185567893482308943106828702722809736248093996270607472645539925399442808113736943388729406307926159599546262462970706259484556903471197299640908941805953439325123623550813494900436427852713831591256898929519642728757394691427253436694153236100453730488198551706594121735246258954873016760029886592578662856124966552353382942878542534048308330701653722856355915253478445981831341129001999205981352205117336585640782648494276441137639386692480311836445369858917544264739988228462184490087776977631279572267265556259628254276531830013407092233436577916012809317940171859859993384923549564005709955856113498025249906698423301735035804408116855265311709957089942732870925848789443646005041089226691783525870785951298344172953519537885534573742608590290817651557803905946408735061232261120093731080485485263572282576820341605048466277504500312620080079980492548534694146977516493270950493463938243222718851597405470214828971117779237612257887347718819682546298126868581705074027255026332904497627789442362167411918626943965067151577958675648239939176042601763387045499017614364120469218237076488783419689686118155815873606293860381017121585527266830082383404656475880405138080163363887421637140643549556186896411228214075330265510042410489678352858829024367090488711819090949453314421828766181031007354770549815968077200947469613436092861484941785017180779306810854690009445899527942439813921350558642219648349151263901280383200109773868066287792397180146134324457264009737425700735921003154150893679300816998053652027600727749674584002836240534603726341655425902760183484030681138185510597970566400750942608788573579603732451414678670368809880609716425849759513806930944940151542222194329130217391253835591503100333032511174915696917450271494331515588540392216409722910112903552181576282328318234254832611191280092825256190205263016391147724733148573910777587442538761174657867116941477642144111126358355387136101102326798775641024682403226483464176636980663785768134920453022408197278564719839630878154322116691224641591177673225326433568614618654522268126887268445968442416107854016768142080885028005414361314623082102594173756238994207571362751674573189189456283525704413354375857534269869947254703165661399199968262824727064133622217892390317608542894373393561889165125042440400895271983787386480584726895462438823437517885201439560057104811949884239060613695734231559079670346149143447886360410318235073650277859089757827273130504889398900992391350337325085598265586708924261242947367019390772713070686917092646254842324074855036608013604668951184009366860954632500214585293095000090715105823626729326453738210493872499669933942468551648326113414611068026744663733437534076429402668297386522093570162638464852851490362932019919968828517183953669134522244470804592396602817156551565666111359823112250628905854914509715755390024393153519090210711945730024388017661503527086260253788179751947806101371500448991721002220133501310601639154158957803711779277522597874289191791552241718958536168059474123419339842021874564925644346239253195313510331147639491199507285843065836193536932969928983791494193940608572486396883690326556436421664425760791471086998431573374964883529276932822076294728238153740996154559879825989109371712621828302584811238901196822142945766758071865380650648702613389282299497257453033283896381843944770779402284359883410035838542389735424395647555684095224844554139239410001620769363684677641301781965937997155746854194633489374843912974239143365936041003523437770658886778113949861647874714079326385873862473288964564359877466763847946650407411182565837887845485814896296127399841344272608606187245545236064315371011274680977870446409475828034876975894832824123929296058294861919667091895808983320121031843034012849511620353428014412761728583024355983003204202451207287253558119584014918096925339507577840006746552603144616705082768277222353419110263416315714740612385042584598841990761128725805911393568960143166828317632356732541707342081733223046298799280490851409479036887868789493054695570307261900950207643349335910602454508645362893545686295853131533718386826561786227363716975774183023986006591481616404944965011732131389574706208847480236537103115089842799275442685327797431139514357417221975979935968525228574526379628961269157235798662057340837576687388426640599099350500081337543245463596750484423528487470144354541957625847356421619813407346854111766883118654489377697956651727966232671481033864391375186594673002443450054499539974237232871249483470604406347160632583064982979551010954183623503030945309733583446283947630477564501500850757894954893139394489921612552559770143685894358587752637962559708167764380012543650237141278346792610199558522471722017772370041780841942394872540680155603599839054898572354674564239058585021671903139526294455439131663134530893906204678438778505423939052473136201294769187497519101147231528932677253391814660730008902776896311481090220972452075916729700785058071718638105496797310016787085069420709223290807038326345345203802786099055690013413718236837099194951648960075504934126787643674638490206396401976668559233565463913836318574569814719621084108096188460545603903845534372914144651347494078488442377217515433426030669883176833100113310869042193903108014378433415137092435301367763108491351615642269847507430329716746964066653152703532546711266752246055119958183196376370761799191920357958200759560530234626775794393630746305690108011494271410093913691381072581378135789400559950018354251184172136055727522103526803735726527922417373605751127887218190844900617801388971077082293100279766593583875890939568814856026322439372656247277603789081445883785501970284377936240782505270487581647032458129087839523245323789602984166922548964971560698119218658492677040395648127810217991321741630581055459880130048456299765112124153637451500563507012781592671424134210330156616535602473380784302865525722275304999883701534879300806260180962381516136690334111138653851091936739383522934588832255088706450753947395204396807906708680644509698654880168287434378612645381583428075306184548590379821799459968115441974253634439960290251001588827216474500682070419376158454712318346007262933955054823955713725684023226821301247679452264482091023564775272308208106351889915269288910845557112660396503439789627825001611015323516051965590421184494990778999200732947690586857787872098290135295661397888486050978608595701773129815531495168146717695976099421003618355913877781769845875810446628399880600616229848616935337386578773598336161338413385368421197893890018529569196780455448285848370117096721253533875862158231013310387766827211572694951817958975469399264219791552338576623167627547570354699414892904130186386119439196283887054367774322427680913236544948536676800000106526248547305586159899914017076983854831887501429389089950685453076511680333732226517566220752695179144225280816517166776672793035485154204023817460892328391703275425750867655117859395002793389592057668278967764453184040418554010435134838953120132637836928358082719378312654961745997056745071833206503455664403449045362756001125018433560736122276594927839370647842645676338818807565612168960504161139039063960162022153684941092605387688714837989559999112099164646441191856827700457424343402167227644558933012778158686952506949936461017568506016714535431581480105458860564550133203758645485840324029871709348091055621167154684847780394475697980426318099175642280987399876697323769573701580806822904599212366168902596273043067931653114940176473769387351409336183321614280214976339918983548487562529875242387307755955595546519639440182184099841248982623673771467226061633643296406335728107078875816404381485018841143188598827694490119321296827158884133869434682859006664080631407775772570563072940049294030242049841656547973670548558044586572022763784046682337985282710578431975354179501134727362577408021347682604502285157979579764746702284099956160156910890384582450267926594205550395879229818526480070683765041836562094555434613513415257006597488191634135955671964965403218727160264859304903978748958906612725079482827693895352175362185079629778514618843271922322381015874445052866523802253284389137527384589238442253547265309817157844783421582232702069028723233005386216347988509469547200479523112015043293226628272763217790884008786148022147537657810581970222630971749507212724847947816957296142365859578209083073323356034846531873029302665964501371837542889755797144992465403868179921389346924474198509733462679332107268687076806263991936196504409954216762784091466985692571507431574079380532392523947755744159184582156251819215523370960748332923492103451462643744980559610330799414534778457469999212859999939961228161521931488876938802228108300198601654941654261696858678837260958774567618250727599295089318052187292461086763995891614585505839727420980909781729323930106766386824040111304024700735085782872462713494636853181546969046696869392547251941399291465242385776255004748529547681479546700705034799958886769501612497228204030399546327883069597624936151010243655535223069061294938859901573466102371223547891129254769617600504797492806072126803922691102777226102544149221576504508120677173571202718024296810620377657883716690910941807448781404907551782038565390991047759414132154328440625030180275716965082096427348414695726397884256008453121406593580904127113592004197598513625479616063228873618136737324450607924411763997597461938358457491598809766744709300654634242346063423747466608043170126005205592849369594143408146852981505394717890045183575515412522359059068726487863575254191128887737176637486027660634960353679470269232297186832771739323619200777452212624751869833495151019864269887847171939664976907082521742336566272592844062043021411371992278526998469884770232382384005565551788908766136013047709843861168705231055314916251728373272867600724817298763756981633541507460883866364069347043720668865127568826614973078865701568501691864748854167915459650723428773069985371390430026653078398776385032381821553559732353068604301067576083890862704984188859513809103042359578249514398859011318583584066747237029714978508414585308578133915627076035639076394731145549583226694570249413983163433237897595568085683629725386791327505554252449194358912840504522695381217913191451350099384631177401797151228378546011603595540286440590249646693070776905548102885020808580087811577381719174177601733073855475800605601433774329901272867725304318251975791679296996504146070664571258883469797964293162296552016879730003564630457930884032748077181155533090988702550520768046303460865816539487695196004408482065967379473168086415645650530049881616490578831154345485052660069823093157776500378070466126470602145750579327096204782561524714591896522360839664562410519551052235723973951288181640597859142791481654263289200428160913693777372229998332708208296995573772737566761552711392258805520189887620114168005468736558063347160373429170390798639652296131280178267971728982293607028806908776866059325274637840539769184808204102194471971386925608416245112398062011318454124478205011079876071715568315407886543904121087303240201068534194723047666672174986986854707678120512473679247919315085644477537985379973223445612278584329684664751333657369238720146472367942787004250325558992688434959287612400755875694641370562514001179713316620715371543600687647731867558714878398908107429530941060596944315847753970094398839491443235366853920994687964506653398573888786614762944341401049888993160051207678103588611660202961193639682134960750111649832785635316145168457695687109002999769841263266502347716728657378579085746646077228341540311441529418804782543876177079043000156698677679576090996693607559496515273634981189641304331166277471233881740603731743970540670310967676574869535878967003192586625941051053358438465602339179674926784476370847497833365557900738419147319886271352595462518160434225372996286326749682405806029642114638643686422472488728343417044157348248183330164056695966886676956349141632842641497453334999948000266998758881593507357815195889900539512085351035726137364034367534714104836017546488300407846416745216737190483109676711344349481926268111073994825060739495073503169019731852119552635632584339099822498624067031076831844660729124874754031617969941139738776589986855417031884778867592902607004321266617919223520938227878880988633599116081923535557046463491132085918979613279131975649097600013996234445535014346426860464495862476909434704829329414041114654092398834443515913320107739441118407410768498106634724104823935827401944935665161088463125678529776973468430306146241803585293315973458303845541033701091676776374276210213701354854450926307190114731848574923318167207213727935567952844392548156091372812840633303937356242001604566455741458816605216660873874804724339121295587776390696903707882852775389405246075849623157436917113176134783882719416860662572103685132156647800147675231039357860689611125996028183930954870905907386135191459181951029732787557104972901148717189718004696169777001791391961379141716270701895846921434369676292745910994006008498356842520191559370370101104974733949387788598941743303178534870760322198297057975119144051099423588303454635349234982688362404332726741554030161950568065418093940998202060999414021689090070821330723089662119775530665918814119157783627292746156185710372172471009521423696483086410259288745799932237495519122195190342445230753513380685680735446499512720317448719540397610730806026990625807602029273145525207807991418429063884437349968145827337207266391767020118300464819000241308350884658415214899127610651374153943565721139032857491876909441370209051703148777346165287984823533829726013611098451484182380812054099612527458088109948697221612852489742555551607637167505489617301680961380381191436114399210638005083214098760459930932485102516829446726066613815174571255975495358023998314698220361338082849935670557552471290274539776214049318201465800802156653606776550878380430413431059180460680083459113664083488740800574127258670479225831912741573908091438313845642415094084913391809684025116399193685322555733896695374902662092326131885589158083245557194845387562878612885900410600607374650140262782402734696252821717494158233174923968353013617865367376064216677813773995100658952887742766263684183068019080460984980946976366733566228291513235278880615776827815958866918023894033307644191240341202231636857786035727694154177882643523813190502808701857504704631293335375728538660588890458311145077394293520199432197117164223500564404297989208159430716701985746927384865383343614579463417592257389858800169801475742054299580124295810545651083104629728293758416116253256251657249807849209989799062003593650993472158296517413579849104711166079158743698654122234834188772292944633517865385673196255985202607294767407261676714557364981210567771689348491766077170527718760119990814411305864557791052568430481144026193840232247093924980293355073184589035539713308844617410795916251171486487446861124760542867343670904667846867027409188101424971114965781772427934707021668829561087779440504843752844337510882826477197854000650970403302186255614733211777117441335028160884035178145254196432030957601869464908868154528562134698835544456024955666843660292219512483091060537720198021831010327041783866544718126039719068846237085751808003532704718565949947612424811099928867915896904956394762460842406593094862150769031498702067353384834955083636601784877106080980426924713241000946401437360326564518456679245666955100150229833079849607994988249706172367449361226222961790814311414660941234159359309585407913908720832273354957208075716517187659944985693795623875551617575438091780528029464200447215396280746360211329425591600257073562812638733106005891065245708024474937543184149401482119996276453106800663118382376163966318093144467129861552759820145141027560068929750246304017351489194576360789352855505317331416457050499644389093630843874484783961684051845273288403234520247056851646571647713932377551729479512613239822960239454857975458651745878771331813875295980941217422730035229650808917770506825924882232215493804837145478164721397682096332050830564792048208592047549985732038887639160199524091893894557676874973085695595801065952650303626615975066222508406742889826590751063756356996821151094966974458054728869363102036782325018232370845979011154847208761821247781326633041207621658731297081123075815982124863980721240786887811450165582513617890307086087019897588980745664395515741536319319198107057533663373803827215279884935039748001589051942087971130805123393322190346624991716915094854140187106035460379464337900589095772118080446574396280618671786101715674096766208029576657705129120990794430463289294730615951043090222143937184956063405618934251305726829146578329334052463502892917547087256484260034962961165413823007731332729830500160256724014185152041890701154288579920812198449315699905918201181973350012618772803681248199587707020753240636125931343859554254778196114293516356122349666152261473539967405158499860355295332924575238881013620234762466905581643896786309762736550472434864307121849437348530060638764456627218666170123812771562137974614986132874411771455244470899714452288566294244023018479120547849857452163469644897389206240194351831008828348024924908540307786387516591130287395878709810077271827187452901397283661484214287170553179654307650453432460053636147261818096997693348626407743519992868632383508875668359509726557481543194019557685043724800102041374983187225967738715495839971844490727914196584593008394263702087563539821696205532480321226749891140267852859967340524203109179789990571882194939132075343170798002373659098537552023891164346718558290685371189795262623449248339249634244971465684659124891855662958932990903523923333364743520370770101084388003290759834217018554228386161721041760301164591878053936744747205998502358289183369292233732399948043710841965947316265482574809948250999183300697656936715968936449334886474421350084070066088359723503953234017958255703601693699098867113210979889707051728075585519126993067309925070407024556850778679069476612629808225163313639952117098452809263037592242674257559989289278370474445218936320348941552104459726188380030067761793138139916205806270165102445886924764924689192461212531027573139084047000714356136231699237169484813255420091453041037135453296620639210547982439212517254013231490274058589206321758949434548906846399313757091034633271415316223280552297297953801880162859073572955416278867649827418616421878988574107164906919185116281528548679417363890665388576422915834250067361245384916067413734017357277995634104332688356950781493137800736235418007061918026732855119194267609122103598746924117283749312616339500123959924050845437569850795704622266461900010350049018303415354584283376437811198855631877779253720116671853954183598443830520376281944076159410682071697030228515225057312609304689842343315273213136121658280807521263154773060442377475350595228717440266638914881717308643611138906942027908814311944879941715404210341219084709408025402393294294549387864023051292711909751353600092197110541209668311151632870542302847007312065803262641711616595761327235156666253667271899853419989523688483099930275741991646384142707798870887422927705389122717248632202889842512528721782603050099451082478357290569198855546788607946280537122704246654319214528176074148240382783582971930101788834567416781139895475044833931468963076339665722672704339321674542182455706252479721997866854279897799233957905758189062252547358220523642485078340711014498047872669199018643882293230538231855973286978092225352959101734140733488476100556401824239219269506208318381454698392366461363989101210217709597670490830508185470419466437131229969235889538493013635657618610606222870559942337163102127845744646398973818856674626087948201864748767272722206267646533809980196688368099415907577685263986514625333631245053640261056960551318381317426118442018908885319635698696279503673842431301133175330532980201668881748134298868158557781034323175306478498321062971842518438553442762012823457071698853051832617964117857960888815032960229070561447622091509473903594664691623539680920139457817589108893199211226007392814916948161527384273626429809823406320024402449589445612916704950823581248739179964864113348032475777521970893277226234948601504665268143987705161531702669692970492831628550421289814670619533197026950721437823047687528028735412616639170824592517001071418085480063692325946201900227808740985977192180515853214739265325155903541020928466592529991435379182531454529059841581763705892790690989691116438118780943537152133226144362531449012745477269573939348154691631162492887357471882407150399500944673195431619385548520766573882513963916357672315100555603726339486720820780865373494244011579966750736071115935133195919712094896471755302453136477094209463569698222667377520994516845064362382421185353488798939567318780660610788544000550827657030558744854180577889171920788142335113866292966717964346876007704799953788338787034871802184243734211227394025571769081960309201824018842705704609262256417837526526335832424066125331152942345796556950250681001831090041124537901533296615697052237921032570693705109083078947999900499939532215362274847660361367769797856738658467093667958858378879562594646489137665219958828693380183601193236857855855819555604215625088365020332202451376215820461810670519533065306060650105488716724537794283133887163139559690583208341689847606560711834713621812324622725884199028614208728495687963932546428534307530110528571382964370999035694888528519040295604734613113826387889755178856042499874831638280404684861893818959054203988987265069762020199554841265000539442820393012748163815853039643992547020167275932857436666164411096256633730540921951967514832873480895747777527834422109107311135182804603634719818565557295714474768255285786334934285842311874944000322969069775831590385803935352135886007960034209754739229673331064939560181223781285458431760556173386112673478074585067606304822940965304111830667108189303110887172816751957967534718853722930961614320400638132246584111115775835858113501856904781536893813771847281475199835050478129771859908470762197460588742325699582889253504193795826061621184236876851141831606831586799460165205774052942305360178031335726326705479033840125730591233960188013782542192709476733719198728738524805742124892118347087662966720727232565056512933312605950577772754247124164831283298207236175057467387012820957554430596839555568686118839713552208445285264008125202766555767749596962661260456524568408613923826576858338469849977872670655519185446869846947849573462260629421962455708537127277652309895545019303773216664918257815467729200521266714346320963789185232321501897612603437368406719419303774688099929687758244104787812326625318184596045385354383911449677531286426092521153767325886672260404252349108702695809964759580579466397341906401003636190404203311357933654242630356145700901124480089002080147805660371015412232889146572239314507607167064355682743774396578906797268743847307634645167756210309860409271709095128086309029738504452718289274968921210667008164858339553773591913695015316201890888748421079870689911480466927065094076204650277252865072890532854856143316081269300569378541786109696920253886503457718317668688592368148847527649846882194973972970773718718840041432312763650481453112285099002074240925585925292610302106736815434701525234878635164397623586041919412969769040526483234700991115424260127343802208933109668636789869497799400126016422760926082349304118064382913834735467972539926233879158299848645927173405922562074910530853153718291168163721939518870095778818158685046450769934394098743351443162633031724774748689791820923948083314397084067308407958935810896656477585990556376952523265361442478023082681183103773588708924061303133647737101162821461466167940409051861526036009252194721889091810733587196414214447865489952858234394705007983038853886083103571930600277119455802191194289992272235345870756624692617766317885514435021828702668561066500353105021631820601760921798468493686316129372795187307897263735371715025637873357977180818487845886650433582437700414771041493492743845758710715973155943942641257027096512510811554824793940359768118811728247215825010949609662539339538092219559191818855267806214992317276316321833989693807561685591175299845013206712939240414459386239880938124045219148483164621014738918251010909677386906640415897361047643650006807710565671848628149637111883219244566394581449148616550049567698269030891118568798692947051352481609174324301538368470729289898284602223730145265567989862776796809146979837826876431159883210904371561129976652153963546442086919756737000573876497843768628768179249746943842746525631632300555130417422734164645512781278457777245752038654375428282567141288583454443513256205446424101103795546419058116862305964476958705407214198521210673433241075676757581845699069304604752277016700568454396923404171108988899341635058515788735343081552081177207188037910404698306957868547393765643363197978680367187307969392423632144845035477631567025539006542311792015346497792906624150832885839529054263768766896880503331722780018588506973623240389470047189761934734430843744375992503417880797223585913424581314404984770173236169471976571535319775499716278566311904691260918259124989036765417697990362375528652637573376352696934435440047306719886890196814742876779086697968852250163694985673021752313252926537589641517147955953878427849986645630287883196209983049451987439636907068276265748581043911223261879405994155406327013198989570376110532360629867480377915376751158304320849872092028092975264981256916342500052290887264692528466610466539217148208013050229805263783642695973370705392278915351056888393811324975707133102950443034671598944878684711643832805069250776627450012200352620370946602341464899839025258883014867816219677519458316771876275720050543979441245990077115205154619930509838698254284640725554092740313257163264079293418334214709041254253352324802193227707535554679587163835875018159338717423606155117101312352563348582036514614187004920570437201826173319471570086757853933607862273955818579758725874410254207710547536129404746010009409544495966288148691590389907186598056361713769222729076419775517772010427649694961105622059250242021770426962215495872645398922769766031052498085575947163107587013320886146326641259114863388122028444069416948826152957762532501987035987067438046982194205638125583343642194923227593722128905642094308235254408411086454536940496927149400331978286131818618881111840825786592875742638445005994422956858646048103301538891149948693543603022181094346676400002236255057363129462629609619876056425996394613869233083719626595473923462413459779574852464783798079569319865081597767535055391899115133525229873611277918274854200868953965835942196333150286956119201229888988700607999279541118826902307891310760361763477948943203210277335941690865007193280401716384064498787175375678118532132840821657110754952829497493621460821558320568723218557406516109627487437509809223021160998263303391546949464449100451528092508974507489676032409076898365294065792019831526541065813682379198409064571246894847020935776119313998024681340520039478194986620262400890215016616381353838151503773502296607462795291038406868556907015751662419298724448271942933100485482445458071889763300323252582158128032746796200281476243182862217105435289834820827345168018613171959332471107466222850871066611770346535283957762599774467218571581612641114327179434788599089280848669491413909771673690027775850268664654056595039486784111079011610400857274456293842549416759460548711723594642910585090995021495879311219613590831588262068233215615308683373083817327932819698387508708348388046388478441884003184712697454370937329836240287519792080232187874488287284372737801782700805878241074935751488997891173974612932035108143270325140903048746226294234432757126008664250833318768865075642927160552528954492153765175149219636718104943531785838345386525565664065725136357506435323650893679043170259787817719031486796384082881020946149007971513771709906195496964007086766710233004867263147551053723175711432231741141168062286420638890621019235522354671166213749969326932173704310598722503945657492461697826097025335947502091383667377289443869640002811034402608471289900074680776484408871134135250336787731679770937277868216611786534423173226463784769787514433209534000165069213054647689098505020301504488083426184520873053097318949291642532293361243151430657826407028389840984160295030924189712097160164926561341343342229882790992178604267981245728534580133826099587717811310216734025656274400729683406619848067661580502169183372368039902793160642043681207990031626444914619021945822969099212278855394878353830564686488165556229431567312827439082645061162894280350166133669782405177015521962652272545585073864058529983037918035043287670380925216790757120406123759632768567484507915114731344000183257034492090971243580944790046249431345502890068064870429353403743603262582053579011839564908935434510134296961754524957396062149028872893279252069653538639644322538832752249960598697475988232991626354597332444516375533437749292899058117578635555562693742691094711700216541171821975051983178713710605106379555858890556885288798908475091576463907469361988150781468526213325247383765119299015610918977792200870579339646382749068069876916819749236562422608715417610043060890437797667851966189140414492527048088197149880154205778700652159400928977760133075684796699295543365613984773806039436889588764605498387147896848280538470173087111776115966350503997934386933911978988710915654170913308260764740630571141109883938809548143782847452883836807941888434266622207043872288741394780101772139228191199236540551639589347426395382482960903690028835932774585506080131798840716244656399794827578365019551422155133928197822698427863839167971509126241054872570092407004548848569295044811073808799654748156891393538094347455697212891982717702076661360248958146811913361412125878389557735719498631721084439890142394849665925173138817160266326193106536653504147307080441493916936326237376777709585031325599009576273195730864804246770121232702053374266705314244820816813030639737873664248367253983748769098060218278578621651273856351329014890350988327061725893257536399397905572917516009761545904477169226580631511102803843601737474215247608515209901615858231257159073342173657626714239047827958728150509563309280266845893764964977023297364131906098274063353108979246424213458374090116939196425045912881340349881063540088759682005440836438651661788055760895689672753153808194207733259791727843762566118431989102500749182908647514979400316070384554946538594602745244746681231468794344161099333890899263841184742525704457251745932573898956518571657596148126602031079762825416559050604247911401695790033835657486925280074302562341949828646791447632277400552946090394017753633565547193100017543004750471914489984104001586794617924161001645471655133707407395026044276953855383439755054887109978520540117516974758134492607943368954378322117245068734423198987884412854206474280973562580706698310697993526069339213568588139121480735472846322778490808700246777630360555123238665629517885371967303463470122293958160679250915321748903084088651606111901149844341235012464692802880599613428351188471544977127847336176628506216977871774382436256571177945006447771837022199910669502165675764404499794076503799995484500271066598781360380231412683690578319046079276529727769404361302305178708054651154246939526512710105292707030667302444712597393995051462840476743136373997825918454117641332790646063658415292701903027601733947486696034869497654175242930604072700505903950314852292139257559484507886797792525393176515641619716844352436979444735596426063339105512682606159572621703669850647328126672452198906054988028078288142979633669674412480598219214633956574572210229867759974673812606936706913408155941201611596019023775352555630060624798326124988128819293734347686268921923977783391073310658825681377717232831532908252509273304785072497713944833389255208117560845296659055394096556854170600117985729381399825831929367910039184409928657560599359891000296986446097471471847010153128376263114677420914557404181590880006494323785583930853082830547607679952435739163122188605754967383224319565065546085288120190236364471270374863442172725787950342848631294491631847534753143504139209610879605773098720135248407505763719925365047090858251393686346386336804289176710760211115982887553994012007601394703366179371539630613986365549221374159790511908358829009765664730073387931467891318146510931676157582135142486044229244530411316065270097433008849903467540551864067734260358340960860553374736276093565885310976099423834738222208729246449768456057956251676557408841032173134562773585605235823638953203853402484227337163912397321599544082842166663602329654569470357718487344203422770665383738750616921276801576618109542009770836360436111059240911788954033802142652394892968643980892611463541457153519434285072135345301831587562827573389826889852355779929572764522939156747756667605108788764845349363606827805056462281359888587925994094644604170520447004631513797543173718775603981596264750141090665886616218003826698996196558058720863972117699521946678985701179833244060181157565807428418291061519391763005919431443460515404771057005433900018245311773371895585760360718286050635647997900413976180895536366960316219311325022385179167205518065926351803625121457592623836934822266589557699466049193811248660909979812857182349400661555219611220720309227764620099931524427358948871057662389469388944649509396033045434084210246240104872332875008174917987554387938738143989423801176270083719605309438394006375611645856094312951759771393539607432279248922126704580818331376416581826956210587289244774003594700926866265965142205063007859200248829186083974373235384908396432614700053242354064704208949921025040472678105908364400746638002087012666420945718170294675227854007450855237772089058168391844659282941701828823301497155423523591177481862859296760504820386434310877956289292540563894662194826871104282816389397571175778691543016505860296521745958198887868040811032843273986719862130620555985526603640504628215230615459447448990883908199973874745296981077620148713400012253552224669540931521311533791579802697955571050850747387475075806876537644578252443263804614304288923593485296105826938210349800040524840708440356116781717051281337880570564345061611933042444079826037795119854869455915205196009304127100727784930155503889536033826192934379708187432094991415959339636811062755729527800425486306005452383915106899891357882001941178653568214911852820785213012551851849371150342215954224451190020739353962740020811046553020793286725474054365271759589350071633607632161472581540764205302004534018357233829266191530835409512022632916505442612361919705161383935732669376015691442994494374485680977569630312958871916112929468188493633864739274760122696415884890096571708616059814720446742866420876533479985822209061980217321161423041947775499073873856794118982466091309169177227420723336763503267834058630193019324299639720444517928812285447821195353089891012534297552472763573022628138209180743974867145359077863353016082155991131414420509144729353502223081719366350934686585865631485557586244781862010871188976065296989926932817870557643514338206014107732926106343152533718224338526352021773544071528189813769875515757454693972715048846979361950047772097056179391382898984532742622728864710888327017372325881824465843624958059256033810521560620615571329915608489206434030339526226345145428367869828807425142256745180618414956468611163540497189768215422772247947403357152743681940989205011365340012384671429655186734415374161504256325671343024765512521921803578016924032669954174608759240920700466934039651017813485783569444076047023254075555776472845075182689041829396611331016013111907739863246277821902365066037404160672496249013743321724645409741299557052914243820807609836482346597388669134991978401310801558134397919485283043673901248208244481412809544377389832005986490915950532285791457688496257866588599917986752055455809900455646117875524937012455321717019428288461740273664997847550829422802023290122163010230977215156944642790980219082668986883426307160920791408519769523555348865774342527753119724743087304361951139611908003025587838764420608504473063129927788894272918972716989057592524467966018970748296094919064876469370275077386643239191904225429023531892337729316673608699622803255718530891928440380507103006477684786324319100022392978525537237556621364474009676053943983823576460699246526008909062410590421545392790441152958034533450025624410100635953003959886446616959562635187806068851372346270799732723313469397145628554261546765063246567662027924520858134771760852169134094652030767339184114750414016892412131982688156866456148538028753933116023229255561894104299533564009578649534093511526645402441877594931693056044868642086275720117231952640502309977456764783848897346431721598062678767183800524769688408498918508614900343240347674268624595239589035858213500645099817824463608731775437885967767291952611121385919472545140030118050343787527766440276261894101757687268042817662386068047788524288743025914524707395054652513533945959878961977891104189029294381856720507096460626354173294464957661265195349570186001541262396228641389779673332907056737696215649818450684226369036784955597002607986799626101903933126376855696876702929537116252800554310078640872893922571451248113577862766490242516199027747109033593330930494838059785662884478744146984149906712376478958226329490467981208998485716357108783119184863025450162092980582920833481363840542172005612198935366937133673339246441612522319694347120641737549121635700857369439730597970971972666664226743111776217640306868131035189911227133972403688700099686292254646500638528862039380050477827691283560337254825579391298525150682996910775425764748832534141213280062671709400909822352965795799780301828242849022147074811112401860761341515038756983091865278065889668236252393784527263453042041880250844236319038331838455052236799235775292910692504326144695010986108889991465855188187358252816430252093928525807796973762084563748211443398816271003170315133440230952635192958868069082135585368016100021374085115448491268584126869589917414913382057849280069825519574020181810564129725083607035685105533178784082900004155251186577945396331753853209214972052660783126028196116485809868458752512999740409279768317663991465538610893758795221497173172813151793290443112181587102351874075722210012376872194474720934931232410706508061856237252673254073332487575448296757345001932190219911996079798937338367324257610393898534927877747398050808001554476406105352220232540944356771879456543040673589649101761077594836454082348613025471847648518957583667439979150851285802060782055446299172320202822291488695939972997429747115537185892423849385585859540743810488262464878805330427146301194158989632879267832732245610385219701113046658710050008328517731177648973523092666123458887310288351562644602367199664455472760831011878838915114934093934475007302585581475619088139875235781233134227986650352272536717123075686104500454897036007956982762639234410714658489578024140815840522953693749971066559489445924628661996355635065262340533943914211127181069105229002465742360413009369188925586578466846121567955425660541600507127664176605687427420032957716064344860620123982169827172319782681662824993871499544913730205184366907672357740005393266262276032365975171892590180110429038427418550789488743883270306328327996300720069801224436511639408692222074532024462412115580435454206421512158505689615735641431306888344318528085397592773443365538418834030351782294625370201578215737326552318576355409895403323638231921989217117744946940367829618592080340386757583411151882417743914507736638407188048935825686854201164503135763335550944031923672034865101056104987272647213198654343545040913185951314518127643731043897250700498198705217627249406521461995923214231443977654670835171474936798618655279171582408065106379950018429593879915835017158075988378496225739851212981032637937621832245659423668537679911314010804313973233544909082491049914332584329882103398469814171575601082970658306521134707680368069532297199059990445120908727577622535104090239288877942463048328031913271049547859918019696783532146444118926063152661816744319355081708187547705080265402529410921826485821385752668815558411319856002213515888721036569608751506318753300294211868222189377554602722729129050429225978771066787384000061677215463844129237119352182849982435092089180168557279815642185819119749098573057033266764646072875743056537260276898237325974508447964954564803077159815395582777913937360171742299602735310276871944944491793978514463159731443535185049141394155732938204854212350817391254974981930871439661513294204591938010623142177419918406018034794988769105155790555480695387854006645337598186284641990522045280330626369562649091082762711590385699505124652999606285544383833032763859980079292284665950355121124528408751622906026201185777531374794936205549640107300134885315073548735390560290893352640071327473262196031177343394367338575912450814933573691166454128178817145402305475066713651825828489809951213919399563324133655677709800308191027204099714868741813466700609405102146269028044915964654533010775469541308871416531254481306119240782118869005602778182423502269618934435254763357353648561936325441775661398170393063287216690572225974520919291726219984440964615826945638023950283712168644656178523556516412771282691868861557271620147493405227694659571219831494338162211400693630743044417328478610177774383797703723179525543410722344551255558999864618387676490397246116795901810003509892864120419516355110876320426761297982652942588295114127584126273279079880755975185157684126474220947972184330935297266521001566251455299474512763155091763673025946213293019040283795424632325855030109670692272022707486341900543830265068121414213505715417505750863990767394633514620908288893493837643939925690060406731142209331219593620298297235116325938677224147791162957278075239505625158160313335938231150051862689053065836812998810866326327198061127154885879809348791291370749823057592909186293919501472119758606727009254771802575033773079939713453953264619526999659638565491759045833358579910201271320458390320085387888163363768518208372788513117522776960978796214237216254521459128183179821604411131167140691482717098101545778193920231156387195080502467972579249760577262591332855972637121120190572077140914864507409492671803581515757151405039761096384675556929897038354731410022380258346876735012977541327953206097115450648421218593649099791776687477448188287063231551586503289816422828823274686610659273219790716238464215348985247621678905026099804526648392954235728734397768049577409144953839157556548545905897649519851380100795801078375994577529919670054760225255203445398871253878017196071816407812484784725791240782454436168234523957068951427226975043187363326301110305342333582160933319121880660826834142891041517324721605335584999322454873077882290525232423486153152097693846104258284971496347534183756200301491570327968530186863157248840152663983568956363465743532178349319982554211730846774529708583950761645822963032442432823773745051702856069806788952176819815671078163340526675953942492628075696832610749532339053622309080708145591983735537774874202903901814293731152933464446815121294509759653430628421531944572711861490001765055817709530246887526325011970520947615941676872778447200019278913725184162285778379228443908430118112149636642465903363419454065718354477191244662125939265662030688852005559912123536371822692253178145879259375044144893398160865790087616502463519704582889548179375668104647461410514249887025213993687050937230544773411264135489280684105910771667782123833281026218558775131272117934444820144042574508306394473836379390628300897330624138061458941422769474793166571762318247216835067807648757342049155762821758397297513447899069658953254894033561561316740327647246921250575911625152965456854463349811431767025729566184477548746937846423373723898192066204851189437886822480727935202250179654534375727416391079197295295081294292220534771730418447791567399173841831171036252439571615271466900581470000263301045264354786590329073320546833887207873544476264792529769017091200787418373673508771337697768349634425241994995138831507487753743384945825976556099655595431804092017849718468549737069621208852437701385375768141663272241263442398215294164537800049250726276515078908507126599703670872669276430837722968598516912230503746274431085293430527307886528397733524601746352770320593817912539691562106363762588293757137384075440646896478310070458061344673127159119460843593582598778283526653115106504162329532904777217408355934972375855213804830509000964667608830154061282430874064559443185341375522016630581211103345312074508682433943215904359443031243122747138584203039010607094031523555617276799416002039397509989762933532585557562480899669182986422267750236019325797472674257821111973470940235745722227121252685238429587427350156366009318804549333898974157149054418255973808087156528143010267046028431681923039253529779576586241439270154974087927313105163611913757700892956482332364829826302460797587576774537716010249080462430185652416175665560016085912153455626760219268998285537787258314514408265458348440947846317877737479465358016996077940556870119232860804113090462935087182712593466871276669487389982459852778649956916546402945893506496433580982476596516514209098675520380830920323048734270346828875160407154665383461961122301375945157925269674364253192739003603860823645076269882749761872357547676288995075211480485252795084503395857083813047693788132112367428131948795022806632017002246033198967197064916374117585485187848401205484467258885140156272501982171906696081262778548596481836962141072171421498636191877475450965030895709947093433785698167446582826791194061195603784539785583924076127634410576675102430755981455278616781594965706255975507430652108530159790807334373607943286675789053348366955548680391343372015649883422089339997164147974693869690548008919306713805717150585730714881564992071408675825960287605645978242377024246980532805663278704192676846711626687946348695046450742021937394525926266861355294062478136120620263649819999949840514386828525895634226432870766329930489172340072547176418868535137233266787792173834754148002280339299735793615241275582956927683723123479898944627433045456679006203242051639628258844308543830720149567210646053323853720314324211260742448584509458049408182092763914000854042202355626021856434899414543995041098059181794888262805206644108631900168856815516922948620301073889718100770929059048074909242714101893354281842999598816966099383696164438152887721408526808875748829325873580990567075581701794916190611400190855374488272620093668560447559655747648567400817738170330738030547697360978654385938218722058390234444350886749986650604064587434600533182743629617786251808189314436325120510709469081358644051922951293245007883339878842933934243512634336520438581291283434529730865290978330067126179813031679438553572629699874035957045845223085639009891317947594875212639707837594486113945196028675121056163897600888009274611586080020780334159145179707303683519697776607637378533301202412011204698860920933908536577322239241244905153278095095586645947763448226998607481329730263097502881210351772312446509534965369309001863776409409434983731325132186208021480992268550294845466181471555744470966953017769043427203189277060471778452793916047228153437980353967986142437095668322149146543801459382927739339603275404800955223181666738035718393275707714204672383862461780397629237713120958078936384144792980258806552212926209362393063731349664018661951081158347117331202580586672763999276357907806381881306915636627412543125958993611964762610140556350339952314032311381965623632719896183725484533370206256346422395276694356837676136871196292181875457608161705303159072882870071231366630872275491866139577373054606599743781098764980241401124214277366808275139095931340415582626678951084677611866595766016599817808941498575497628438785610026379654317831363402513581416115190209649913354873313111502270068193013592959597164019719605362503355847998096348871803911161281359596856547886832585643789617315976200241962155289629790481982219946226948713746244472909345647002853769495885959160678928249105441251599630078136836749020937491573289627002865682934443134234735123929825916673950342599586897069726733258273590312128874666045146148785034614282776599160809039865257571726308183349444182019353338507129234577437557934406217871133006310600332405399169368260374617663856575887758020122936635327026710068126182517291460820254189288593524449107013820621155382779356529691457650204864328286555793470720963480737269214118689546732276775133569019015372366903686538916129168888787640752549349424973342718117889275993159671935475898809792452526236365903632007085444078454479734829180208204492667063442043755532505052752283377888704080403353192340768563010934777212563908864041310107381785333831603813528082811904083256440184205374679299262203769871801806112262449090924264198582086175117711378905160914038157500336642415609521632819712233502316742260056794128140621721964184270578432895980288233505982820819666624903585778994033315227481777695284368163008853176969478369058067106482808359804669884109813515865490693331952239436328792399053481098783027450017206543369906611778455436468772363184446476806914282800455107468664539280539940910875493916609573161971503316696830992946634914279878084225722069714887558063748030886299511847318712477729191007022758889348693945628951580296537215040960310776128983126358996489341024703603664505868728758905140684123812424738638542790828273382797332688550493587430316027474906312957234974261122151741715313361862241091386950068883589896234927631731647834007746088665559873338211382992877691149549218419208777160606847287467368188616750722101726110383067178785669481294878504894306308616994879870316051588410828235127415353851336589533294862949449506186851477910580469603906937266267038651290520113781085861618888694795760741358553458515176805197333443349523012039577073962377131603024288720053732099825300897761897312981788194467173116064723147624845755192873278282512718244680782421521646956781929409823892628494376024885227900362021938669648221562809360537317804086372726842669642192994681921490870170753336109479138180406328738759384826953558307739576144799727000347288018278528138950321798634521611106660883931405322694490545552786789441757920244002145078019209980446138254780585804844241640477503153605490659143007815837243012313751156228401583864427089071828481675752712384678245953433444962201009607105137060846180118754312072549133499424761711563332140893460915656155060031738421870157022610310191660388706466143889773631878094071152752817468957640158104701696524755774089164456867771715850058326994340167720215676772406812836656526412298243946513319735919970940327593850266955747023181320324371642058614103360652453693916005064495306016126782264894243739716671766123104897503188573216555498834212180284691252908610148552781527762562375045637576949773433684601560772703550962904939248708840628106794362241870474700836884267102255830240359984164595112248527263363264511401739524808619463584078375355688562231711552094722306543709260679735100056554938122457548372854571179739361575616764169289580525729752233855861138832217110736226581621884244317885748879810902665379342666421699091405653643224930133486798815488662866505234699723557473842483059042367714327879231642240387776433019260019228477831383763253612102533693581262408686669973827597736568222790721583247888864236934639616436330873013981421143030600873066616480367898409133592629340230432497492688783164360268101130957071614191283068657732353263965367739031766136131596555358499939860056515592193675997771793301974468814837110320650369319289452140265091546518430993655349333718342529843367991593941746622390038952767381333061774762957494386871697845376721949350659087571191772087547710718993796089477451265475750187119487073873678589020061737332107569330221632062843206567119209695058576117396163232621770894542621460985841023781321581772760222273813349541048100307327510779994899197796388353073444345753297591426376840544226478421606312276964696715647399904371590332390656072664411643860540483884716191210900870101913072607104411414324197679682854788552477947648180295973604943970047959604029274629920357209976195014034831538094771460105633344699882082212058728151072918297121191787642488035467231691654185225672923442918712816323259696541354858957713320833991128877591722611527337901034136208561457799239877832508355073019981845902595835598926055329967377049172245493532968330000223018151722657578752405883224908582128008974790932610076257877042865600699617621217684547899644070506624171021332748679623743022915535820078014116534806564748823061500339206898379476625503654982280532966286211793062843017049240230198571997894883689718304380518217441914766042975243725168343541121703863137941142209529588579806015293875275379903093887168357209576071522190027937929278630363726876582268124199338480816602160372215471014300737753779269906958712128928801905203160128586182549441335382078488346531163265040764242839087012101519423196165226842200371123046430067344206474771802135307012409886035339915266792387110170622186588357378121093517977560442563469499978725112544085452227481091487430725986960204027594117894258128188215995235965897918114407765335432175759525553615812800116384672031934650729680799079396371496177431211940202129757312516525376801735910155733815377200195244454362007184847566341540744232862106099761324348754884743453966598133871746609302053507027195298394327142537115576660002578442303107342955153394506048622276496668762407932435319299263925373107689213535257232108088981933916866827894828117047262450194840970097576092098372409007471797334078814182519584259809624174761013825264395513525931188504563626418830033853965243599741693132289471987830842760040136807470390409723847394583489618653979059411859931035616843686921948538205578039577388136067954990008512325944252972448666676683464140218991594456530942344065066785194841776677947047204195882204329538032631053749488312218039127967844610013972675389219511911783658766252808369005324900459741094706877291232821430463533728351995364827432583311914445901780960778288358373011185754365995898272453192531058811502630754257149394302445393187017992360816661130542625399583389794297160207033876781503301028012009599725222228080142357109476035192554443492998676781789104555906301595380976187592035893734197896235893112598390259831026719330418921510968915622506965911982832345550305908173073519550372166587028805399213857603703537710517802128012956684198414036287272562321442875430221090947272107347413497551419073704331827662617727599688882602722524713368335345281669277959132886138176634985772893690096574956228710302436259077241221909430087175569262575806570991201665962243608024287002454736203639484125595488172727247365346778364720191830399871762703751572464992228946793232269361917764161461879561395669956778306829031658969943076733350823499079062410020250613405734430069574547468217569044165154063658468046369262127421107539904218871612761778701425886482577522388918459952337629237791558574454947736129552595222657863646211837759847370034797140820699414558071908021359073226923310083175951065901912129479540860364075735875020589020870457967000705526250581142066390745921527330940682364944159089100922029668052332526619891131184201629163107689408472356436680818216865721968826835840278550078280404345371018365109695178233574303050485265373807353107418591770561039739506264035544227515610110726177937063472380499066692216197119425912044508464174638358993823994651739550900085947999013602667426149429006646711506717542217703877450767356374215478290591101261915755587023895700140511782264698994491790830179547587676016809410013583761357859135692445564776446417866711539195135769610486492249008344671548638305447791433009768048687834818467273375843689272431044740680768527862558516509208826381323362314873333671476452045087662761495038994950480956046098960432912335834885999029452640028499428087862403981181488476730121675416110662999555366819312328742570206373835202008686369131173346973174121915363324674532563087134730279217495622701468732586789173455837996435135880095935087755635624881049385299900767513551352779241242927748856588856651324730251471021057535251651181485090275047684551825209633189906852761443513821366215236889057878669943228881602837748203550601602989400911971385017987168363374413927597364401700701476370665570350433812111357641501845182141361982349515960106475271257593518530433287553778305750956742544268471221961870917856078393614451138333564910325640573389866717812397223751931643061701385953947436784339267098671245221118969084023632741149660124348309892994173803058841716661307304006758838043211155537944060549772170594282151488616567277124090338772774562909711013488518437411869565544974573684521806698291104505800429988795389902780438359628240942186055628778842880212755388480372864001944161425749990427200959520465417059810498996750451193647117277222043610261407975080968697517660023718774834801612031023468056711264476612374762785219024120256994353471622666089367521983311181351114650385489502512065577263614547360442685949807439693233129712737715734709971395229118265348515558713733662912024271430250376326950135091161295299378586468130722648600827088133353819370368259886789332123832705329762585738279009782646054559855513183668884462826513379849166783940976135376625179825824966345877195012438404035914084920973375464247448817618407002356958017741017769692507781489338667255789856458985105689196092439884156928069698335224022563457049731224526935419383700484318335719651662672157552419340193309901831930919658292096965624766768365964701959575473934551433741370876151732367720422738567427917069820454995309591887243493952409444167899884631984550485239366297207977745281439941825678945779571255242682608994086331737153889626288962940211210888442737656862452761213037101730078513571540453304150795944777614359743780374243664697324713841049212431413890357909241603640631403814983148190525172093710396402680899483257229795456404270175772290417323479607361878788991331830584306939482596131871381642346721873084513387721908697510494284376932502498165667381626061594176825250999374167288395174406693254965340310145222531618900923537648637848288134420987004809622717122640748957193900291857330746010436072919094576799461492929042798168772942648772995285843464777538690695014898413392454039414468026362540211861431703125111757764282991464453340892097696169909837265236176874560589470496817013697490952307208268288789073019001825342580534342170592871393173799314241085264739094828459641809361413847583113613057610846236683723769591349261582451622155213487924414504175684806412063652017038633012953277769902311864802006755690568229501635493199230591424639621702532974757311409422018019936803502649563695586642590676268568737211033915679383989576556519317788300024161353956243777784080174881937309502069990089089932808839743036773659552489130015663329407790713961546453408879151030065132193448667324827590794680787981942501958262232039513125201410996053126069655540424867054998678692302174698900954785072567297879476988883109348746442640071818316033165551153427615562240547447337804924621495213325852769884733626918264917433898782478927846891882805466998230368993978341374758702580571634941356843392939606819206177333179173820856243643363535986349449689078106401967407443658366707158692452118299789380407713750129085864657890577142683358276897855471768718442772612050926648610205153564284063236848180728794071712796682006072755955590404023317874944734645476062818954151213916291844429765106694796935401686601005519607768733539651161493093757096855455938151378956903925101495326562814701199832699220006639287537471313523642158926512620407288771657835840521964605410543544364216656224456504299901025658692727914275293117208279393775132610605288123537345106837293989358087124386938593438917571337630072031976081660446468393772580690923729752348670291691042636926209019960520412102407764819031601408586355842760953708655816427399534934654631450404019952853725200495780525465625115410925243799132626271360909940290226206283675213230506518393405745011209934146491843332364656937172591448932415900624202061288573292613359680872650004562828455757459659212053034131011182750130696150983551563200431078460190656549380654252522916199181995960275232770224985573882489988270746593635576858256051806896428537685077201222034792099393617926820659014216561592530673794456894907085326356819683186177226824991147261573203580764629811624401331673789278868922903259334986179702199498192573961767307583441709855922217017182571277753449150820527843090461946083521740200583867284970941102326695392144546106621500641067474020700918991195137646690448126725369153716229079138540393756007783515337416774794210038400230895185099454877903934612222086506016050035177626483161115332558770507354127924990985937347378708119425305512143697974991495186053592040383023571635272763087469321962219006426088618367610334600225547747781364101269190656968649501268837629690723396127628722304114181361006026404403003599698891994582739762411461374480405969706257676472376606554161857469052722923822827518679915698339074767114610302277660602006124687647772881909679161335401988140275799217416767879923160396356949285151363364721954061117176738737255572852294005436178517650230754469386930787349911035218253292972604455321079788771144989887091151123725060423875373484125708606406905205845212275453384800820530245045651766951857691320004281675805492481178051983264603244579282973012910531838563682120621553128866856495651261389226136706409395333457052698695969235035309422454386527867767302754040270224638448355323991475136344104405009233036127149608135549053153902100229959575658370538126196568314428605795669662215472169562087001372776853696084070483332513279311223250714863020695124539500373572334680709465648308920980153487870563349109236605755405086411152144148143463043727327104502776866195310785832333485784029716092521532609255893265560067212435946425506599677177038844539618163287961446081778927217183690888012677820743010642252463480745430047649288555340906218515365435547412547615276977266776977277705831580141218568801170502836527554321480348800444297999806215790456416195721278450892848980642649742709057912906921780729876947797511244730599140605062994689428093103421641662993561482813099887074529271604843363081840412646963792584309418544221635908457614607855856247381493142707826621518554160387020687698046174740080832434366538235455510944949843109349475994467267366535251766270677219418319197719637801570216993367508376005716345464367177672338758864340564487156696432104128259564534984138841289042068204700761559691684303899934836679354254921032811336318472259230555438305820694167562999201337317548912203723034907268106853445403599356182357631283776764063101312533521214199461186935083317658785204711236433122676512996417132521751355326186768194233879036546890800182713528358488844411176123410117991870923650718485785622102110400977699445312179502247957806950653296594038398736990724079767904082679400761872954783596349279390457697366164340535979221928587057495748169669406233427261973351813662606373598257555249650980726012366828360592834185584802695841377255897088378994291054980033111388460340193916612218669605849157148573356828614950001909759112521880039641976216355937574371801148055944229873041819680808564726571354761283162920044988031540210553059707666636274932830891688093235929008178741198573831719261672883491840242972129043496552694272640255964146352591434840067586769035038232057293413298159353304444649682944136732344215838076169483121933311981906109614295220153617029857510559432646146850545268497576480780800922133581137819774927176854507553832876887447459159373116247060109124460982942484128752022446259447763874949199784044682925736096853454984326653686284448936570411181779380644161653122360021491876876946739840751717630751684985635920148689294310594020245796962292456664488196757629434953532638217161339575779076637076456957025973880043841580589433613710655185998760075492418721171488929522173772114608115434498266547987258005667472405112200738345927157572771521858994694811794064446639943237004429114074721818022482583773601734668530074498556471542003612359339731291445859152288740871950870863221883728826282288463184371726190330577714765156414382230679184738603914768310814135827575585364359772165002827780371342286968878734979509603110889919614338666406845069742078770028050936720338723262963785603865321643234881555755701846908907464787912243637555666867806761054495501726079114293083128576125448194444947324481909379536900820638463167822506480953181040657025432760438570350592281891987806586541218429921727372095510324225107971807783304260908679427342895573555925272380551144043800123904168771644518022649168164192740110645162243110170005669112173318942340054795968466980429801736257040673328212996215368488140410219446342464622074557564396045298531307140908460849965376780379320189914086581466217531933766597011433060862500982956691763884605676297293146491149370462446935198403953444913514119366793330193661766365255514917498230798707228086085962611266050428929696653565251668888557211227680277274370891738963977225756489053340103885593112567999151658902501648696142720700591605616615970245198905183296927893555030393468121976158218398048396056252309146263844738629603984892438618729850777592879272206855480721049781765328621018747676689724884113956034948037672703631692100735083407386526168450748249644859742813493648037242611670426687083192504099761531907685577032742178501000644198412420739640013960360158381056592841368457411910273642027416372348821452410134771652960312840865841978795111651152982781462037913985500639996032659124852530849369031313010079997719136223086601109992914287124938854161203802041134018888721969347790449752745428807280350930582875442075513481666092787935356652125562013998824962847872621443236285367650259145046837763528258765213915648097214192967554938437558260025316853635673137926247587804944594418342917275698837622626184636545274349766241113845130548144983631178978448973207671950878415861887969295581973325069995140260151167552975057543781024223895792578656212843273120220071673057406928686936393018676595825132649914595026091706934751940897535746401683081179884645247361895605647942635807056256328118926966302647953595109712765913623318086692153578860781275991053717140220450618607537486630635059148391646765672320571451688617079098469593223672494673758309960704258922048155079913275208858378111768521426933478692189524062265792104362034885292626798401395321645879115157905046057971083898337186403802441751134722647254701079479399695355466961972676325522991465493349966323418595145036098034409221220671256769872342794070885707047429317332918852389672197135392449242617864118863779096281448691786946817759171715066911148002075943201206196963779510322708902956608556222545260261046073613136886900928172106819861855378098201847115416363032626569928342415502360097804641710852553761272890533504550613568414377585442967797701466029438768722511536380119175815402812081825560648541078793359892106442724489861896162941341800129513068363860929410008313667337215300835269623573717533073865333820484219030818644918409372394403340524490955455801640646076158101030176748847501766190869294609876920169120218168829104087070956095147041692114702741339005225334083481287035303102391969997859741390859360543359969707560446013424245368249609877258131102473279856207212657249900346829388687230489556225320446360263985422525841646432427161141981780248259556354490721922658386366266375083594431487763515614571074552801615967704844271419443518327569840755267792641126176525061596523545718795667317091331935876162825592078308018520689015150471334038610031005591481785211038475454293338918844412051794396997019411269511952656491959418997541839323464742429070271887522353439367363366320030723274703740712398256202466265197409019976245205619855762576000870817308328834438183107005451449354588542267857855191537229237955549433341017442016960009069641561273229777022121795186837635908225512881647002199234886404395915301846400471432118636062252701154112228380277853891109849020134274101412155976996543887719748537643115822983853312307175113296190455900793806427669581901484262799122179294798734890186847167650382732855205908298452980625925035212845192592798659350613296194679625237397256558415785374456755899803240549218696288849033256085145534439166022625777551291620077279685262938793753045418108072928589198971538179734349618723292761474785019261145041327487324297058340847111233374627461727462658241532427105932250625530231473875925172478732288149145591560503633457542423377916037495250249302235148196138116256391141561032684495807250827343176594405409826976526934457986347970974312449827193311386387315963636121862349726140955607992062831699942007205481152535339394607685001990988655386143349578165008996164907967814290114838764568217491407562376761845377514403147541120676016072646055685925779932207033733339891636950434669069482843662998003741452762771654762382554617088318981086880684785370553648046935095881802536052974079353867651119507937328208314626896007107517552061443378411454995013643244632819334638905093654571450690086448344018042836339051357815727397333453728426337217406577577107983051755572103679597690188995849413019599957301790124019390868135658553966194137179448763207986880037160730322054742357226689680188212342439188598416897227765219403249322731479366923400484897605903795809469604175427961378255378122394764614783292697654516229028170110043784603875654415173943396004891531881757665050095169740241564477129365661425394936888423051740012992055685428985389794266995677702708914651373689220610441548166215680421983847673087178759027920917590069527345668202651337311151800018143412096260165862982107666352336177400783778342370915264406305407180784335806107296110555002041513169637304684921335683726540030750982908936461204789111475303704989395283345782408281738644132271000296831194020332345642082647327623383029463937899837583655455991934086623509096796113400486702712317652666371077872511186035403755448741869351973365662177235922939677646325156202348757011379571209623772343137021203100496515211197601317641940820343734851285260291333491512508311980285017785571072537314913921570910513096505988599993156086365547740355189816673353588004821466509974143376118277772335191074121757284159258087259131507460602563490377726337391446137703802131834744730111303267029691733504770163210661622783002726928336558401179141944780874825336071440329625228577500980859960904093631263562132816207145340610422411208301000858726425211226248014264751942618432585338675387405474349107271004975428115946601713612259044015899160022982780179603519408004651353475269877760952783998436808690898919783969353217998013913544255271791022539701081063214304851137829149851138196914304349750018998068164441212327332830719282436240673319655469267785119315277511344646890550424811336143498460484905125834568326644152848971397237604032821266025351669391408204994732048602162775979177123475109750240307893575993771509502175169355582707253391189233407022383207758580213717477837877839101523413209848942345961369234049799827930414446316270721479611745697571968123929191374098292580556195520743424329598289898052923336641541925636738068949420147124134052507220406179435525255522500874879008656831454283516775054229480327478304405643858159195266675828292970522612762871104013480178722480178968405240792436058274246744307672164527031345135416764966890127478680101029513386269864974821211862904033769156857624069929637249309720162870720018983542369036414927023696193854737248032985504511208919287982987446786412915941753167560253343531062674525450711418148323988060729714023472552071349079839898235526872395090936566787899238371257897624875599044322889538837731734894112275707141095979004791930104674075041143538178246463079598955563899188477378134134707024674736211204898622699188851745625173251934135203811586335012391305444191007362844756751416105041097350585276204448919097890198431548528053398577784431393388399431044446566924455088594631408175122033139068159659251054685801313383815217641821043342978882611963044311138879625874609022613090084997543039577124323061690626291940392143974027089477766370248815549932245882597902063125743691094639325280624164247686849545532493801763937161563684785982371590238542126584061536722860713170267474013114526106376538339031592194346981760535838031061288785205154693363924108846763200956708971836749057816308515813816196688222204757043759061433804072585386208356517699842677452319582418268369827016023741493836349662935157685406139734274647089968561817016055110488097155485911861718966802597354170542398513556001872033507906094642127114399319604652742405088222535977348151913543857125325854049394601086579379805862014336607882521971780902581737087091646045272797715350991034073642502038638671822052287969445838765294795104866071739022932745542678566977686593992341683412227466301506215532050265534146099524935605085492175654913483095890653617569381763747364418337897422970070354520666317092960759198962773242309025239744386101426309868773391388251868431650102796491149773758288891345034114886594867021549210108432808078342808941729800898329753694064496990312539986391958160146899522088066228540841486427478628197554662927881462160717138188018084057208471586890683691939338186427845453795671927239797236465166759201105799566396259853551276355876814021340982901629687342985079247184605687482833138125916196247615690287590107273310329914062386460833337863825792630239159000355760903247728133888733917809696660146961503175422675112599331552967421333630022296490648093458200818106180210022766458040027821333675857301901137175467276305904435313131903609248909724642792845554991349000518029570708291905255678188991389962513866231938005361134622429461024895407240485712325662888893172211643294781619055486805494344103409068071608802822795968695013364381426825217047287086301013730115523686141690837567574763723976318575703810944339056456446852418302814810799837691851212720193504404180460472162693944578837709010597469321972055811407877598977207200968938224930323683051586265728111463799698313751793762321511125234973430524062210524423435373290565516340666950616589287821870775679417608071297378133518711793165003315552382248773065344417945341539520242444970341012087407218810938826816751204229940494817944947273289477011157413944122845552182842492224065875268917227278060711675404697300803703961878779669488255561467438439257011582954666135867867189766129731126720007297155361302750355616781776544228744211472988161480270524380681765357327557860250584708401320883793281600876908130049249147368251703538221961903901499952349538710599735114347829233949918793660869230137559636853237380670359114424326856151210940425958263930167801712866923928323105765885171402021119695706479981403150563304514156441462316376380990440281625691757648914256971416359843931743327023781233693804301289262637538266779503416933432360750024817574180875038847509493945489620974048544263563716499594992098088429479036366629752600324385635294584472894454716620929749549661687741412088213047702281611645604400723635158114972973921896673738264720472264222124201656015028497130633279581430251601369482556701478093579088965713492615816134690180696508955631012121849180584792272069187169631633004485802010286065785859126997463766174146393415956953955420331462802651895116793807457331575984608617370268786760294367778050024467339133243166988035407323238828184750105164133118953703648842269027047805274249060349208295475505400345716018407257453693814553117535421072655783561549987444748042732345788006187314934156604635297977945507535930479568720931672453654720838168585560604380197703076424608348987610134570939487700294617579206195254925575710903852517148852526567104534981341980339064152987634369542025608027761442191431892139390883454313176968510184010384447234894886952098194353190650655535461733581404554483788475252625394966586999205841765278012534103389646981864243003414679138061902805960785488801078970551694621522877309010446746249797999262712095168477956848258334140226647721084336243759374161053673404195473896419789542533503630186140095153476696147625565187382329246854735693580289601153679178730355315937836308224861517777054157757656175935851201669294311113886358215966761883032610416465171484697938542262168716140012237821377977413126897726671299202592201740877007695628347393220108815935628628192856357189338495885060385315817976067947984087836097596014973342057270460352179060564760328556927627349518220323614411258418242624771201203577638889597431823282787131460805353357449429762179678903456816988955351850447832561638070947695169908624710001974880920500952194363237871976487033922381154036347548862684595615975519376541011501406700122692747439388858994385973024541480106123590803627458528849356325158538438324249325266608758890831870070910023737710657698505643392885433765834259675065371500533351448990829388773735205145933304962653141514138612443793588507094468804548697535817021290849078734780681436632332281941582734567135644317153796781805819585246484008403290998194378171817730231700398973305049538735611626102399943325978012689343260558471027876490107092344388463401173555686590358524491937018104162620850429925869743581709813389404593447193749387762423240985283276226660494238512970945324558625210360082928664972417491914198896612955807677097959479530601311915901177394310420904907942444886851308684449370590902600612064942574471035354765785924270813041061854621988183009063458818703875585627491158737542106466795134648758677154383801852134828191581246259933516019893559516796893285220582479942103451271587716334522299541883968044883552975336128683722593539007920166694133909116875880398882886921600237325736158820716351627133281051818760210485218067552664867390890090719513805862673512431221569163790227732870541084203784152568328871804698795251307326634027851905941733892035854039567703561132935448258562828761061069822972142096199350933131217118789107876687204454887608941017479864713788246215395593333327556200943958043453791978228059039595992743691379377866494096404877784174833643268402628293240626008190808180439091455635193685606304508914228964521998779884934747772913279726602765840166789013649050874114212686196986204412696528298108704547986155954533802120115564697997678573892018624359932677768945406050821883822790983362716712449002676117849826437703300208184459000971723520433199470824209877151444975101705564302954282181967000920251561584417420593365814813490269311151709387226002645863056132560579256092733226557934628080568344392137368840565043430739657406101777937014142461549307074136080544210029560009566358897789926763051771878194370676149821756418659011616086540863539151303920131680576903417259645369235080641744656235152392905040947995318407486215121056183385456617665260639371365880252166622357613220194170137266496607325201077194793126528276330241380516490717456596485374835466919452358031530196916048099460681490403781982973236093008713576079862142542209641900436790547904993007837242158195453541837112936865843055384271762803527912882112930835157565659994474178843838156514843422985870424559243469329523282180350833372628379183021659183618155421715744846577842013432998259456688455826617197901218084948033244878725818377480552226815101137174536841787028027445244290547451823467491956418855124442133778352142386597992598820328708510933838682990657199461490629025742768603885051103263854454041918495886653854504057132362968106914681484786965916686184275679846004186876229805556296304595322792305161672159196867584952363529893578850774608153732145464298479231051167635774949462295256949766035947396243099534331040499420967788382700271447849406903707324910644415169605325656058677875741747211082743577431519406075798356362914332639781221894628744779811980722564671466405485013100965678631488009030374933887536418316513498254669467331611812336485439764932502617954935720430540218297487125110740401161140589991109306249231281311634054926257135672181862893278613883371802853505650359195274140086951092616754147679266803210923746708721360627833292238641361959412133927803611827632410600474097111104814000362334271451448333464167546635469973149475664342365949349684588455152415075637660508663282742479413606287604129064491382851945640264315322585862404314183866959063324506300039221319264762596269151090445769530144405461803785750303668621246227863975274666787012100339298487337501447560032210062235802934377495503203701273846816306102657030087227546296679688089058712767636106622572235222973920644309352432722810085997309513252863060110549791564479184500461804676240892892568091293059296064235702106152464620502324896659398732493396737695202399176089847457184353193664652912584806448019652016283879518949933675924148562613699594530728725453246329152911012876377060557060953137752775186792329213495524513308986796916512907384130216757323863757582008036357572800275449032795307990079944254110872569318801466793559583467643286887696661009739574996783659339784634695994895061049038364740950469522606385804675807306991229047408987916687211714752764471160440195271816950828973353714853092893704638442089329977112585684084660833993404568902678751600877546126798801546585652206121095349079670736553970257619943137663996060606110640695933082817187642604357342536175694378484849525010826648839515970049059838081210522111109194332395113605144645983421079905808209371646452312770402316007213854372346126726099787038565709199850759563461324846018840985019428768790226873455650051912154654406382925385127631766392205093834520430077301702994036261543400132276391091298832786392041230044555168405488980908077917463609243933491264116424009388074635660726233669584276458369826873481588196105857183576746200965052606592926354829149904576830721089324585707370166071739819448502884260396366074603118478622583105658087087030556759586134170074540296568763477417643105175103673286924555858208237203860178173940517513043799486882232004437804310317092103426167499800007301609481458637448877852227307633049538394434538277060876076354209844500830624763025357278103278346176697054428715531534001649707665719598504174819908720149087568603778359199471934335277294728553792578768483230110185936580071729118696761765505377503029303383070644891281141202550615089641100762382457448865518258105814034532012475472326908754750707857765973254284445935304499207001453874894822655644222369636554419422544133821222547749753549462482768053333698328415613869236344335855386847111143049824839899180316545863828935379913053522283343013795337295401625762322808113849949187614414132293376710656349252881452823950620902235787668465011666009738275366040544694165342223905210831458584703552935221992827276057482126606529138553034554974455147034493948686342945965843102419078592368022456076393678416627051855517870290407355730462063969245330779578224594971042018804300018388142900817303945050734278701312446686009277858181104091151172937487362788787490746528556543474888683106411005102302087510776891878152562273525155037953244485778727761700196485370355516765520911933934376286628461984402629525218367852236747510880978150709897841308624588152266096355140187449583692691779904712072649490573726428600521140358123107600669951853612486274675637589622529911649606687650826173417848478933729505673900787861792535144062104536625064046372881569823231750059626108092195521115085930295565496753886261297233991462835847604862762702730973920200143224870758233735491524608560821032888297418390647886992327369136004883743661522351705843770554521081551336126214291181561530175888257359489250710887926212864139244330938379733386780613179523731526677382085802470143352700924380326695174211950767088432634644274912755890774686358216216604274131517021245858605623363149316464691394656249747174195835421860774871105733845843368993964591374060338215935224359475162623918868530782282176398323730618020424656047752794310479618972429953302979249748168405289379104494700459086499187272734541350810198388186467360939257193051196864560185578245021823106588943798652243205067737996619695547244058592241795300682045179537004347245176289356677050849021310773662575169733552746230294303120359626095342357439724965921101065781782610874531887480318743082357369919515634095716270099244492974910548985151965866474014822510633536794973714251022934188258511737199449911509758374613010550506419772153192935487537119163026203032858865852848019350922587577559742527658401172134232364808402714335636754204637518255252494432965704386138786590196573880286840189408767281671413703366173265012057865391578070308871426151907500149257611292767519309672845397116021360630309054224396632067432358279788933232440577919927848463333977773765590187057480682867834796562414610289950848739969297075043275302997287229732793444298864641272534816060377970729829917302929630869580199631241330493935049332541235507105446118259114111645453471032988104784406778013807713146540009938630648126661433085820681139583831916954555825942689576984142889374346708410794631893253910696395578070602124597489829356461356078898347241997947856436204209461341238761319886535235831299686226894860840845665560687695450127448663140505473535174687300980632278046891224682146080672762770840240226615548502400895289165711761743902033758487784291128962324705919187469104200584832614067733375102719565399469716251724831223063391932870798380074848572651612343493327335666447335855643023528088392434827876088616494328939916639921048830784777704804572849145630335326507002958890626591549850940797276756712979501009822947622896189159144152003228387877348513097908101912926722710377889805396415636236416915498576840839846886168437540706512103906250612810766379904790887967477806973847317047525344215639038720123880632368803701794930895490077633152306354837425681665336160664198003018828712376748189833024683637148830925928337590227894258806008728603885916884973069394802051122176635913825152427867009440694235512020156837777885182467002565170850924962374772681369428435006293881442998790530105621737545918267997321773502936892806521002539626880749809264345801165571588670044350397650532347828732736884086354000274067678382196352222653929093980736739136408289872201777674716811819585613372158311905468293608323697611345028175783020293484598292500089568263027126329586629214765314223335179309338795135709534637718368409244442209631933129562030557551734006797374061416210792363342380564685009203716715264255637185388957141641977238742261059666739699717316816941543509528319355641770566862221521799115135563970714331289365755384464832620120642433801695586269856102246064606933079384785881436740700059976970364901927332882613532936311240365069865216063898725026723808740339674439783025829689425689674186433613497947524552629142652284241924308338810358005378702399954217211368655027534136221169314069466951318692810257479598560514500502171591331775160995786555198188619321128211070944228724044248115340605589595835581523201218460582056359269930347885113206862662758877144603599665610843072569650056306448918759946659677284717153957361210818084154727314266174893313417463266235422207260014601270120693463952056444554329166298666078308906811879009081529506362678207561438881578135113469536630387841209234694286873083932043233387277549680521030282154432472338884521534372725012858974769146080831440412586818154004918777228786980185345453700652665564917091542952275670922221747411206272065662298980603289167206874365494824610869736722554740481288924247185432360575341167285075755205713115669795458488739874222813588798584078313506054829055148278529489112190538319562422871948475940785939804790109419407067176443903273071213588738504999363883820550168340277749607027684488028191222063688863681104356952930065219552826152699127163727738841899328713056346468822739828876319864570983630891778648708667618548568004767255267541474285102814580740315299219781455775684368111018531749816701642664788409026268282444825802753209454991510451851771654631180490456798571325752811791365627815811128881656228587603087597496384943527567661216895926148503078536204527450775295063101248034180458405943292607985443562009370809182152392037179067812199228049606973823874331262673030679594396095495718957721791559730058869364684557667609245090608820221223571925453671519183487258742391941089044411595993276004450655620646116465566548759424736925233695599303035509581762617623184956190649483967300203776387436934399982943020914707361894793269276244518656023955905370512897816345542332011497599489627842432748378803270141867695262118097500640514975588965029300486760520801049153788541390942453169171998762894127722112946456829486028149318156024967788794981377721622935943781100444806079767242927624951078415344642915084276452000204276947069804177583220909702029165734725158290463091035903784297757265172087724474095226716630600546971638794317119687348468873818665675127929857501636341131462753049901913564682380432997069577015078933772865803571279091376742080565549362464641260024379684543777339026472512819416320076848736251764065967540693621758879307855916478777274739272002910342949562447661308200729250734529170764226621047673037863169954237455117456522022783324096803524667663190861011206745856287317413511162292078865132941244815471628182079877168346341322362234117788231027659825109358892359162055108763298087993165172528938001237817434896832151590562493347370206832232100118637395770567473867102173212375224325241626358034376253606808669163571594551527817803921774322823436633772811186390511893075901666650742952758384008544635419317190531363659724905158409106582201814734799022359067138146905116051922301269482316113417439944714833040862484269139502336713412425123864026657258130943967621939655407386524229897879782198637918299709557924747320303239116410445906907977862315518349593035305923789817515891457650408025109479123421758482841881950138546165680301755035580054944894884871351605375593402345748979516602442338321406030095937105588457052515704266284600354402823678768550982678161765520375795655481677896038927498355608791541177749423573400764161093294003899982199267257086957326068774974224802023307525187650255968420760693229988587579898896460744381788170081548895226516722834045277219106991415764639485231126794730865803195076455197675628957428881796812090026387145257858315277615109088631740243695680567873015235427804793414266495223833707117511265375503942372098784668049139473446530714079622597287130503077258714875570502582573466866613802351426056116197405543436548698005444879295970287590352258409782683598666446586045694241390729095266249932902973440568160683805726626057277088407073471496060064561454070734432782514087474275506722304845357006092214390002992981608211717047917614505191008132670375214930740567853311106058352912781007391749949197845112915913681107394055175208019630539350740248509553772500367054665162330430425087442324262404632115078997336929985407041656261041976700202415094892411856092409637604429612002364590706449770627207919019235964807048923636979860198283087284228564752353162882791324295524814447505521909672046080689545181712204930321853740627247421519740305769043602686360780792004776232429551829473522027244376339027721392087767065716241639751785859254426923428535274328856336850789651962072519416556061870370550218462845434257850383000095374518292958440464918838685793483961151297160581665745096703677495836666693121881763679644943617130416037243050658485131749264055855194018005180908475211868224616976149243238319486434415908558011073070311201502243416073157929528752936835820397003389112114170685219366589789459503154389589015303827143001929589074149943592894083097077078362875914484037045038618966975811201852319231868659968038583812370329156207578835948780941688205531605128190152647592807574958154564221341459378167056992868299895611982353837157880480478704584175394665497690173220310890070303362911767308448450372145669644401469545173857434157810158618783839278552609399130570255575559060947051498093487773320072797573038245989466809680822221348485873822999281794090825665209581655472475244566743697594474686376332428904269776106791933910983300422310293728298798903209391092682836306173610173878123679898645149311702437128285882630486298884492207415640607147059137405524665756971870217355287245439427714809179364437650637861861324348635797411258520863459927803688792498354363298457687650165065115345008695721239507544785683173631557153527046524235259737513408825461609661440746675514226836031959801072152463551069171871335731685485631280857834435623670959650949946968820661185118086034202821331801249410991502601435450017432730793625113070298250499417994284451146479329154599555909587807621636668591791065435966065253525320273650725989121255686842802077246487722010996631829559552903393312284364864475973560859840760947298389542433932623153239918981852264180831296333546356874828863465618504810632288805596737844562000941465603499280879405115310057587129552571964111506850340773710604380371259575596985949362058477512026354947347534748189262254190352671614429284899857536740692165271630086060654373736823556588626486343689153218095572204456777137368310458075584529612832832606319629728527966674362974800821318627921869044284342630735760703999669430789508147269730253817375694922751795354326156912040594832860949992366412287881226419148504856328072066418557059520375030322916894489427578306090910852410601400683274205583969773823150734996108758763704255564964086855071942256344966732430656259250474581762733281816017019698166542426378763601453035946538450325476674999737340835665138186025156520283637389171016545414882674448009105704186162626837971120886141357279611099088292970229692128180978798951391504270936786444983196420134566833908775943006442485623012124614511697921939634409508083229281294270436599146482749984375942113020418297308417178813090379558545603247170819195302771465794555475544754284434408139388908609776017857389307518661906505018077165001840744325854024184360501118242990702323417243674525365349594799063334540754371812699399833719218485418735979845348934592268515068182662490078029335012658824974226241885352526636702827662499349829488748331061764208429016923052899608978604130065109028179805040587107671179041130217482796682353001960220253185576789843317586806378359968791601538922220236575765581586611409199394861599209159917553341783033347643131635012705390697079326567812415906434284721360235218236741214733124499944334155915274315931687477882533155092770336202901222597794809855392200064527162280855398278906584233447552821276517650572663267691141075034845871896996434875775138479148183635100621466818585096348887081456976722020167991199462417776688907917136865945960726468538810778783002161368276697026223459418737476733537998884403427046803042551694127158739320398444374604547816113056625176412759821181939661101850562880555942566060032312116180994622129301002470913347150682268430458680300904242861682025562140946087900065191099495570815816505828983340739466084457565780636690272843462018587328252924796505286681408503538519837523637451925622795490290557907030283950104854835929834542814487304358047053315081510503001521428117175393649133166172621235405527863308002083177055630294963594201654333094094177196326234119387105161570101798053551679370860291366756986097124120368583812957695307798141365700174761356966986146068491439699573837631695824602513342108072621713601943018087209888551415024163818325975259593165531865833117126857941527206612218422661411825154657484878312610347834546749258308729985447421206445095233245050877431496166555251797168020991720026409374921907569936896330281391647208963581771735555848592706524504862516419540550801343510323389813378302497701822754906381499964723334079613041469739476372650869273347108415685608430921316240434629863920841660055904598506491243505264766067600344441618186403670083774114101094320588955598658670077863671896944089622321374034113597199133135946553685446692367652589012108413777432482191812747847892287264892970032371873456157981599834839100412601050746964599430331978810634913923812490503061433407918328004063907098672596197098311265960147473725330526853717742146554005873924623727617364905198713368067723952570781360686683261395014329509474851594724667527201684316586608807512768584755541184381169011622005552113484488960668259227431319007963011587084670117654935393046563356225311244727796669005831190616101972663073970542531439818457379449486780134618217875939076999602029083965677287846905736401564015047696448993947541474608339918696889271156942345492651246645507792554028105037622035967530558601856492056062879090769453339208808849477828894851122154743230191383245562993881020614490266876010207753210915684977830740859649857967152617010039475494539917698791323546550106407355816999409756248149967443278429202762644189793918158394562708173301582160225519659898769376164019861207466755048861110855726764507052622446130222335852072273620485057289238815884938754535229186399714380884061757286220950122506515863104258884134355431973729856217753072022629475552483044445340434888878581170341345342522354319407877972846760181583227097745180929342193189815812482832658950040704855206099893783900341914163044639163880549658786501375046341695655156618298878630705842306967660254053024811471007899784211830489010464056896539702885595530925558636052158957375114089564905844156774937105859648014315874614491250549253191164653821585197370093280194530320572628452658046046337816631429933076646646530760590548962888724189716060225882617577539922055131509377200624863085562820493575752724995567089221634233983602565328731029194007041176919220850015116735670101958971001797019578120892910969417754369904368202563024054822625401905696507710581574240721496339560365270283334407305750073674562260584649886115101689612181119058471714461068719761017456587373796740697137423238753839030317200200207205928488785123911746471673743737923283881966201687622191346233893762599527025672138622112458980212130501407288904300322535504095866818724139369938193069148744717186646183111942603161664070377316487001864799600243044003242241809402278533309011509880870678268835317200767522553138008818780431690190072804831799287414125476123089606833095828377667688287578688683092976001011974533898331952588619630132917094385816615374171794496319177154312506959853481285684619377669894277459170918802520012749905559407289696594793331672243621567896776966708035229039018485730806275670867658627104769409203565593025352743418965927002227049233186829991560936413757004988537304596396152734629396974951748062696451793018719986788537581415975799314806608557232568374305282764175670050288040489429899580948103534833934144927885925262192415547231997143385086637320926632728243514933640704589683852345624744361175256766987767597223439206357507471552918102762614012992480422883990297879925418517499129630283990729635588579890593317795908769073905646025623533567221552259468838298452882922966275137162422172954678670715840924184084147557582539385240963302051349704740695399567897981727860920462286839735779815111868152659884606949758965481314651150392626377749513761557248195116119877250344564710738513435927355538712462375598193813214238441581929070046389771683887207916361741432497079109658162746429717072871725142745898356897095534626820169085356108944898407100581920302176945120771774588795519510473384184739980796306767885845167575729904306971542642383498009870869933670912108394453506245922432312348278549660374657188014892937945147870540607924575900601219622123928720017215588666345734971409533721151655985757941724419889026167016101611557834315025460328781198424027484608510722406676778760855247617773833089502610064388350550205456324346167859451941795669874968515244883847513618180667108316165564209369270520611898517292617141714434655508706306063551012949400309759167799158426049197120954322702678432654296572403272088714321999645313202587109677165128549669962552698607311763718207498827399770601991362093083230736838206455732563765982912578131492224220427971241441629951265945639792759380383804782623160424325399132851123032247037561942321733047854078576244013291717992979240783390715757981426816864655382946847399205888631655934919867896962840447344968024077092831376408103352255242717404107673565424441004483347440101726441052954787296345898640501203608024451190350994974493973617181575277093780209236668135841636268319263406714182797421342546220705415600050959674045616840451771747952790353254932589120483385746590096781730416000521088934610768754004241977803082885181200173369559127137714195011361304409753279190504891583246399143483531648681548579178632935123925552510211182788573696060276931301469661433449642302114382483705633532793858895267672076688971274435815632088106650149568143558796576909857765902768707453659276364975553449617308078160987103248013795136170367763457594975686208013996374551762425147780628722265971455482906769295713643572152674468987889418820751292225756509143552828874614195097862427527881571566400763721037803194043095844272549269987169234331890022141503113998765260688761566740210197201719602390861082974927639569541153032275460173870795625993579785302443476716399591462317931239989986928437975702492369551587297683854005227651495614447105971962889888157109415171701518114743513643854005116246202131174800791983749700100471363432523281578911355450453371905275068229156185003328469567926226208190442473340362503892792071585960039363153368842724375366799698647934741133198328619441460653922784099903143840354565047056789552024827176011874335643690243503085631309559055250390492731613311734922584644609024535079190184411299321699770451832853586480428556822208737213616490586303256368913084103760215679927020005322355439804653119339775459044045078568021398465009693429547310269249947586466058091669984160684646087293943808274308285817479694172872990311013192675573897984091364253479694943480377703364634958476862982590103470727861218623001986607987782684245933835638919570206853521603211635230064988744600200170413056985365154668752023859375183280372851143274811699683692849220447380570633496618711240947835915869626858643589141359854253577688774932743634514754488640868818030369652431755688300205860773256959716086485415834468432489963077011371344675156930244885482077124133557732306949458067267845235943631507872728157901573070033178796854436279525719023623274614262868732738009497741122856237663214904653294072026197539071740422259539242888164559796570030957141389106936845036268231053986743753240052701534745893325679514941854537808827063457295962169085383535370381418115573816378209032561519869745357646412125498076005156141707298046994813593483150568116642793219335279822714715767340186088721518799669350252700757556099719882863064285448128275139280694702750148163289727314347348528529504604883271673978981563678804780443602109007320727369749344630499731442571560433133690387618100948873120713482710815889857483265854207510077953118326861708037070935927614936782530858340482351003632166378957426202550350116861543407379504516482896755698358935522020173679548075781909502697981271148703431190363112246128295303820512870430929471974594690821025634788995431771524379696211281224503426066399268852133079196370277780448857920573046990800923440186638113252097123096476059989947925759851008173039606822219975327301606582628527582576695078547260349382981335825281786706085126560022688717811253597829337347791412736284188656175920832879447410969703879854736984025458063294835022359393543587480223989760916296250110473931169449100666907230634693130169711820632535269244043840093724284428209709364856909468920087371753252557030543539828727812301139808093867015474885803445631871319602678548793893316205007675264112044390237583342724298699654786368534102848857370254725502365663418680919038388670787907208403619402164670121534837978151832826472578628815207101081499558980338118961569441756761340717046538512170902123777884333649651872119905407581877394397528364143953044245913903178813004188791887114553148267469987055587931040240388884083850687341625071657274185134952084963670955542450439483948045979156228282483787934152720362263369561805556371076814888893619275742659935823559431530887933052767558747512365065843969475604297192002319868024351719937868100361102312568364256079597410574153628297180046497748573718378639037039015397374911654685499716453941611216417610717145401765190565052520662277883129045719693205990241375395983861982603205495839501675552509644137118222561496014003023035407899209698677507867200038074267970530307167932296015648622808518403352350170608589512912223246117830253163628943946073652771336511631646446199099021224922412315168992767855863736315526002503488487813233001910189399616702731416999626511945742636761965002434737172729028462209798394871065982270009954918877696188505432653211802219444282228425152556141187434018041946141394514712872527592391255964437356833972896331267678234910356332961294719101515714311579549093390326141191865475237624721531102079369115848742205822747343201735585077122437969857965491580627950274097716886114807616315161855306856692457171769220443668433127398933794111629722451699985468562215702417594711769952916550211685500108985761934639455908826270775311465775223884634351937653973498480245497607602440308084489010683878697261237097835782451668011714859836794055290461982621656691720274262854823933960018254599409254308169691032978411234022885600190549342750223185294712829609693976813734197704278121300147328677605719405969979275512461718434956985641712872481183465420642318714551824152867630567513116267717735061751124546338799426529127010578995671805721436557918350691777930704075732904397494995822410623810514917650238504182730096620171750940590805408957283755406355152219965820757351315707592361539863945921115586400098809755261053838256899272158478504174606516151133788336097601211484870055601658124924706825684427204547289630942030665044529864622359422600855499158914995360649842803457949275700949795945060237877501947062463239495495782308228306684081880252107663907423097372091628533717680621644693543231791785530583317142084798863034084657264269395570026857605753934788858709460058272323051910811751423491268733658596079989173292891589600181509181633740080603547520005151175102901229924870961545928026206076169827218102916731554892942374085196743307916607849905578210193571366243599088361385980851615641747694605478554008195353067080308969763045294686823321053287823743894411568517627171163630940147990964945635459295013073900362682100732637008235615069126964318335171625439030469898931426154426359511363466057378654951244574752621678954703628904830484996804037722513431937373441236618586944588064018584073147633792940386340435919419872355263015654608051868676068043160845128459160424413269879125385602991599672787661951950531764883134693257366894644382558139108486209663742674579831301222343872583124422033094571457541470479293875858238997738515213523723895596643122356432626286011474890868171592810668727084008203377186921535235269263472268090825989889840026208152178282611229313118208660070996860365409818326807558247767069504109975861436243552161945353029200254667367996485043373133495208210751199258926638995647569858707901856123791578864374469037871509500112550210038845311923652965599461900474846620642347942329670060529003709175578188708193522146871427235277632559898086948721113845980014123842163827824412736542446748833381679716201128861914154019367129094789902646664431560983729615019686242282506723061667209435465714251493086424887785986827595887490650772602509518295367651811823686169447243607837642947624692263194989219646440683169287661615060508138463194151162025779078630718012311594586038965625265542233462344545073947886902681594975131168851436945210216883190446168629763325229863851818850049286935727647668238555646365544964006317648285575785866610228551564859908820958689444362546986795238226861159699100563660829267915337538160661122478695313261585318717638859893779291889029987938798100036973078489592706254104848593158543233956831042390299070263443797875691855434089764407601308444819786265079476440830134942435834281885915259293471436317533749589701072873501270788980481635045676667693207553051840432446100740321676471836083708475065126930707660849825299000317850305853682139512735038638246056425103377755809864643398017186208142663074172592226000511091342681074670129014301654101064933212283790827515001003530015654597508323772965439697382047741626571065740821649960626227496187953347907065988974871779564334064841745645747906925170149499810095353413548908754836327579522407206986291024671703579251441766703886609906985726260581240825336225218992000418975745765315123000064445715931701771688635483333051921582055946117357716321132233931965320386199005116178171334001070576652689919708169202219464704323795356411866063920558609034457064151797782145054722278852987210197858846070047420028468873795844228949974333656271877991721137916164492541329715652879529532639759538535920950138633380507561369530899547584883024261962758985941513780515805025767540401785795852448831172105089277089227273431973823884687307168230248788688585510108073522781405371406520758107270848167263977098731455162646911423286103036932984330300323676162714264067587806731883971515002798163374779078775038307986759404591073921034587404219617034925808189907205961291586420202885734009114955238865107911371495334639763988183948804530075074740372280936820535430494951948332833470075161979008687285439962981575605891637624723069162871111137676086480323752459664930411753946136464337804671165055504670671836221285795048067165630427626711429999113487698447050370637900181096888629721757951732433802780617470496302042492916619171886243355599282093243919445711886321556320161654247055375938696624656334121541014032286990930159132885808831241242882876373872742838038590710292748633351503090445328052597795658920554562434297982794134891756382400771612173324736428540160610044337641457220785921715591401037832020132133833096380778904095723810558829392796374381660686835195059277019515361601722158904287856784820682919441698718192862730827044416303962547130532843883379133747687358261221162583602728961624559041896770247453827583966522993712351630489833012421417455788591594256059792427721819908556279848605617453684478923796907975594555154646853163024462325674034895845462256744858202042457391994253094264224504202689038150152683602412559807597523648162809304891274615119623154611400822056396780658535407668688227542650381225999162076017089556747446524234452017661650325945665912966786324621379919222961458671422482492880647680321086477994100410060033906792752373625460277429600734788038356687522003482457694908456862696057715701919174892260635208129738797443835483286136939562450392976805783223402171676555917766840375723484409461762931288492689936871389838822271060279037990019045583360079739277410926655739233147025909233890654388422351324115388018559234956139930223919645050450369352927011566305153351918641864823442499919272027295345959906304872360804159576002966812111683172366038110542803591445720248256456105714055462420821343520948108417158289572445072063546816002305120140848054358742526171017681853883557558717415424775449772221419261315525269109175563331932322243218525422182729149159810583689702503522813002141192486014248068079753699647771939490680468355280834732761030604940973309169031678309793463661183278453186871646268073883365670456601042376850580139507443647963922284112697945134773004924987864965636794909929132712528977651918175427962806084932375520815361113240339713165504391887960198382138585000773242461778849187581459642642337889793330819488160040113126525635693244659398400636890315254722923991414474377069633893576192603918924793631780083102611419548543605157787160049557886565797066588551042882466363057207778902266777042512681571979533225107638903681976284402861025880539233932947467202408854127649238644760216116262082421299166036229918492378223630098347811952291382184732634228575912097980547828525059183798336801787411242644746002256241498069140074097972102327853957561512834580616541111792671042799057939449713494632895045651286884784187175802050458328387485313736911351025506201027753458094391050010218339732456504728894768792989259450198750767122363791875864720121496606115128048709648863056228440839369443872169212084920085155838125107074195518720809374694245973117281172105192890389637039423577686212766821093182763664984042124938144097959863114225436483965499983479084307021764385554351257436828228153032222380834767951113557014806318200453220723794891863572149106242526993994671015366846234105153338142684770627585203524099207972086991453730109551641503317628200196916411546026820723669255275141842996992053985343307306805737238050416719722112737405078927266340638850686734458560773266648384578027718911475801323105519878413365218519071460681389868867103147598264611293795439526672867275994833590259744587868768496462683484434414135917714587766088077845357183932937193739323640835633757668846821111799350554102085561884901020160050563954168745108220603555410817666460524124966224422804545243216032036019464135609792001959024049792923673298924553990101980112140290868699920575891777188074146122205024728585715367530747814389730571787268366360157613610077228631963885264623512553807731945956356796538236249992655180433079635962110674552852142902629498265675533527310046878865731047246649332656792733134512295505918623293739332608607745135077530901574443829487339779605322849358301361837958626480321297368474817516476913662110360369509106666505171711508278200932788358722598394046306837631811808904423626219988123682680785795262197216687201745517472627818032683058548803970977047934831035439855907843552776676033139884605271503138856332467688927104595851932895139167823857735772658100479825639355193520055204080028705967824973937478860528356493591497838037796496000521244583477900175604246586665199807702883943851638095504304921960324436090340085174660429627430976838715194598264473594023424821104475729111777958773134155360952759570898612586771456252399450075938020609355024892008476733229308574222255020645569023912654366357852427242905605320575403082101451238209021746697579765347517250146583747884808053773515042222404295760361375432486199655891939220504699982106293160967565179075132296077785755331026585842576086686764535520927748275567545177169950878941180593630524994496701237598006553499873966639539441701705969810151271933311840767923271853953980976404852784674387231643291002906549530861283330266400758012961849920702200255597215695758837616878436434679275586357397225356488413306011928957464280935785808113233143311528748217976603971257952890036407198923328131611640416937736628013259738222237426818917648959642270338039059295964969648213311447316676504197678110849096646942571706945700787126401448652242846948897617256746535220506162107300101926248314682120355169950152200731638400413203033324231216708268546893175843663043078435078592810447849266395265239871864417338008568169232134742975458326940216125333283790096064862778549412667951367404587741694559614076265662502990069226726787603658713793279604184883939339346926354341548095183623323317522937035210291464133127520371171667548720634738923293785107290295144629274154676194794274716691603049782928896147458702649979707920638724082502300642554499590401197410853516784440901880646293748354439614400353523310304041178457228902958180581032123743825898702747370401068377771592512645357065083009214792583498924751274536220061058545759973693135297078143742841340551954446721489415057452839171603715453082525558343202512542416624457524562964457910769717152147095185055003550543906316882581057850746356562047914667680556984384552027709969719889807233714869563567031776877637897432734928293439051455670607446079704769316462781214171381827437856146219708808702106421105737785147135883737738824076528045191427137488110559744718310093937519765980210024101251123081368260338474491087716132285766026393884928495989823656572720426357202637482564949491262914191713064628059566982549360326132019252804346170439028926027993140436137026582012131285148815857311178210413103357288871817295262711200081475064026830464189887697478791731737038139991888242416994212152776045185956711909418073734793310997092831554681656395271010461137625406644958618385463898220899677832955011143149959368039822230371363295742321735744647342109741491743641994731958840052638726959231836423254918455955045343778467094704509594201202114220864191279049359945213739248711074323149511380429379365543637217263481907571135312709307952729522112479531498969908089466574769556512436056114200866399056099000380302506124236077503293413472890501316772809713162683495963409292243031195084878867103533520023712730202916592975252657039210421496349523857085605723434621576956985134068304548331545907536471146996824209102321431171769227738534770417794076441001301048596092707211320523185382227444870243327103987811479127546080836115687792151311310450083663631007517511025900280864277150209627136623974010752884454683316182115027892643072976355761055112462033248005310599511150543148482955343295983057427245173788652719300073232173623758732731489091094553740270481185557199051683938745352067970859211896407854895041094056996598871598863362077955045219321563361246853031747054439402941829263552401554523160986825531389701880153970459625016917966481250155593231148267300563383579726032860177847414960045697257834956205873287301245145557634523029864814954410090788352980120701265410952518460666201767420452573679946907719084537874820608029048251670176619820730618331239219353569004070521549893903446593880904750772416954365185807506649045944318886297872357160302248135220460109063521450828063974927551284769435499620339916448879197437902095718886320024750207910237907307296374632633667459427556378453569136734552401489712590948036856628232100500394007310663207525728314711519263328928520696723934717509829526021254947643301953574383509258283111339115390633766173730772363027988986998579945016592376906754883798892940060516282614004815046948281403308391643424865093963545890913280595111633455036563482451915058317949808318272813479505077271733594966337188214919283787116463903566925779942457394355473044935559396848032790208614196815082606481092468854338332986639074547805263629161562798803187828270745163032786390756653362197506322424864576945975359667320060389826293000076125149479800895671245256955982758548576901246368659494224227727177151849641751071598416357207241224371968067203927064789427894217128426413342711831847944133460647243141150155098551171241466824331235206284065722692606904747919644729752832274956981963277872816259540120205380732958250049744593080978240952991296542331849879880077168163198608651208831586725650659441406184468374963189291374599342160348482288315828973094216147368925585169927155311558888760072170341024458744020844342827300467309795555666811501300338889583802314643138290026007632285034758307808788951803139810207627889851743534782251208467594974300244378958428956807526632036276962994601808349419949127065591308400058626563996391104068510412820071532462564263714563557576945284927112635577196325065896545536482125459263355257292595281499341587877651569223119151023373440716991656476398200089698462984399775938539811213321810328198969945792617649358297483733877523528594640351382382306269453634581003193672502069828073843334117528315731434263989641634712705303477569915580031181591809113788026883854757697292339888286032302997704306662886955301210272705763395989768941024996847949816842011992561348075644040655946238370872368881254894914879487348086141681055211400184551700844448429484755073273664282722206336582401745498808291301883914015680905000084954657373000327477972099175074617859515799532022372852359204007425152256386166756203188398117618611960221628474319079702503674592828046781785366473935600354038278281845766947823374571138221219326167295010427069409520265028052289859093500239449087456262053452217311940957783019536051850385496140621825306182036518273370621119893902448897538635818099449181578487833652886543654224830202789241704968965110417275947501781226785814391748649424357300909171264877160595920974458114629554223100220085120522589764778114827039426776664278274625939511743807198618722265586504030028469146927864680031836034638172640570270742262034297187555809938687124046562233389146465830554301315509528510972630050805188265272685335372937338569182693717167730316118647494810424215127915910146065697953331337740959367493264414637024275245393350301309928336485407069840343991212452492755802997988240920664464042585966200888741916498773027540372920421581093781471313622628866669454742124495528490914921933719362340294337125575569988652966236450353519202677763794248208286056893623152152317885014521313214914698685483594470686585010981314205892676416115162109405356780736810089734245872932705210853572676380564228840929665884477795279546710735193295474713015079220840328232204428944678218396547110902117340725139724757357008555312743219996751259582568063235880883884366203262266191414934740436498000247398332092411838667429609269460701418388178110714282439657796388439864782313715424989472583041145149526872423618996763058816820846327437441210390552765218710735564525713360114558045585684558650432859917676519619327114349866540777451450047307271171479571222757201812886446440777517460328242317338533765298981044232240467724632047951798097157602580088576897513405948054826877288477629384645496040270370508539419092769937066804551719416040376351180185513657545109524703460226002074174282384948178225490636599208474903758320574467795910675566064077500934712981700581876940802799269046059498721176341519148822518670439557310017937100046657292180372848797971569227888839704198254565706428908985827958625659901375968750078569853420944399597152366767355991155709006141301885395600693305082611578831597901882912877765396964067539208084858229047556190518637549059417647208090848523929966365377746870985680142361370763704674236180292186795924769777652926292904179839275053432943384476533398501228283627985150263745427966717714841975733906572871543054321575235449320534653754238204844850884634590853386677292538520444984413136863751894117684862613603681937363513393254080685226921474307329134467625293226408453308449386471515618139413634350364817794755097633925598827869036963238633034257944529229237752032874489020040532668139354752855017464531717214599508145561364692526650227115337381817597855795041988075485811336289154900903908060775415757361373755988018757307536248737001291223826113438103923437231353689889153374949378632498494176428141704528408296939917243232867725641504837657731144933521553852300178110827616363037090205259503779092534110470570046565251977925679331410886632640592623178893126031528575871642421190333798725775874290129037593626972723431489357257241883794186276864566775868692027601439805016387143520477673880900578928363381779738845734410014996643323582225792535171105948560789182401521998285226946509587631492471279520164467647402704689545435103069826179991402234072854891546806842095743207506621154487626644675798636443880232586360886918759442271521429650664161384963815027972173071265920578266002784718140034209265693070309044570245964675764901852781393148131509203641049845969060225314474822945707025270436304061114455142227669366501254252372074394018277525089414329152151705997454593125946821214351062276330331850433948895127672063729151249368193570319104693572905276288768782500485054800597323075326522779255241991315961791152206941968547918734156699781096702562993993208164507174173490564339865219986639055709352119852439067986150214486239284387398201876022854712303949459661572587509650320071247665759381372124801134153550616754720369579105597461067112541711745369543014719141993731972279716902116135726252431164722893666441426212438549813623694963571282116036854416071082317751078012983042538141908922492085953646108213956481132053160737077720760559934981503424064077512331512158999246297497845474385785595227089267102479199199645043040166005621762962340149282181611520504643814051201017632797902693271222701259270816304579408695938850308858577776769880577120277461858372818585997017721116037109827393241471979376638648431600084157927253061164085015150016520300200142743376390418788622635274702258984849469077694747613276391052599405660382382371636943555470658174827307182474182726362724046239944028444473642458644475104690299765267497344356985708539057819159958599609675061283091019474886565075126139713632927641583491304208300950851100414074557443784927898576072610576974181963369679075518838322017344376439805368296268732851893953081597213840998753657746635493253113936255978954300091191426740753859254969015797341918371040169991790094567835962857322447147907320456964719786315490862841233325174812784828809848761022100974278347516462790553938519668895696510876062872957459088920170238672074010602453894151954739328142466223126892362650272056402643021776903189555520611271146314671703891577339006545286923272080811157875737499103532444669361653517522124688660805939738054689486755602588706871030811898922024217495293458219535300991561355360731590956734699069924874268001953821752462105349862701061321590757260240804300827868356293198384271052198354727511764233027995892687273053118355805687527612409197424447633568095687484441045467028352365141527656270080436309747745376780982087349803849825992488106702977549495352282995165465598506874283176285208571961393797828505779014996232139220462341524168238038894466242673730018965433764765036341251828509512088864856294714398779566559280749164896256218592671541469217676839605450082164216260561064231444357982306919657804705747148460072968182372287977560496089158178686729363237902415792047283646970210313975180097841598550007055364938753212574961674875872583259925957615074339186228437988301346044540880817809685491194541193470268965059919860410997653211196581062966550051161836517062029288087760914984616731644268641970892306484630567545738872024760165257760852937721093358445387107402729259191524626762353817978693064215340131633701135735635111098141821129662210736726269615672674830775248874448416766573702400485083937025583859101226694835806839154547916601645691486305239359779324467255886717416048550387114903176075537321944728305822191558078807524536969327446017473605242058646968697577061218677619720587491045165142715495423853920232526975123495465463090613294600566507283098728033873735155375223563183570253700649409263808031737463485403611466000484687624231089472379165007451797052486284672766337551730368736838564403704980661790920083171078821049818331552614850537354075035108223939247445630109692042278844737169688950911185736926890336659718522537770329622016708106551812675800940852515068477579219138932138092869611953122090503801810765874883683178827814252786261879667606821977039093260067296151275571252786437069898354444096139173790354548518040397333137480523587910955583040481534804539187854038243236907304310274062641777762657301034703384021129669084818046162496487394734584412155302581522214994582224994194195472564103175021144228086523028022134240931939327276781959906081125986239673394589896190716797777802595116314775762640285882625148158216439944135061960811758904619511585390826133549603880323713522245169681180597512189590028591797390866524495280407827130270045377437267855532504850397463757394646098408565893018482234161498658315034660821862236058019481145549035154742662660612950268784097547798140726823956931472487609828034508118938340409615343148630112486764653154787584549465222275318773560890835043837081120882441759938586466309397048117253004020305813409044745051156377054103501416686191248525269493348297851018111472329874045396127540222219095844050872306623268888497042234567000119497518597964940991489713853622794588740760990432854228127730581830402494510870633698694686740089481097539710090849476830410711529550638887652490545659994260773886347394552511448972036104793757254472396602354774812749416069835101314764023641949146105980556375704465155667123652568282701574452847602207817539723371640969862649205576687615644577446446649254773467297255570538828590789231759706768639824966294555601938731527103627201242931201764252246448031819544683337639946131383614457041608883422253715587835807016115602717754142472333152781356694009898004445823899842006407489589238923892752289147329455312404247755208380523795101239384358587754549990012720682866599985790984293038460073296238426290797218233372747669464015269204881430422739438838386988072365034008809524512726001361525704157749789546427459286696216415427519072078965765676204708762910259298887712834058061317182068879509627355230802280366588530930270461940061446449186278566424494208162102038327611169622442138639731157130118991853169915158165025834281284874149275360507355014927516496556894986881445782807241540090116176936589862811374592790322578489093397688160867085700299534572157942098099722053214575142715411220939886987456280116533207925455196985191038428157268351201092367995242906867995456830838859301366721852113536417244228370492060364815444971779988618739061970126506684370640425124459951909006226082179845415139874086156189246593084402747014710167254716016686017397691997662011119989301553540628177813282386798739883185480936514175269040502739923269532293931036045698425205947108776022321016774679279356253076833772206929809952133275493410764068293696256538097982992215020076190656713323330719175311095376967431445827047452191856565617305618532166042594645538561688375993453276738278878122231537281113417355451707355320827604407745254423078545374811259665463557459604327036854215738696224447960925936750083098914000685383635881778748642710688257878740799283418251977140842230489497915517987678274684754084928993864763498391753924459329312913808073876500505220066666272734384454049896801183432553499976250119217678755809806723324167826178257089116301798088195583791075401180509621601093080422570180549297646784115387691430708824753121723137940372365928771043455446962665999926233933298641137100126804081160276969402287136507298106445252016551733860468650406212924578927147227426763861426823676408516411947662651437101393855680642700778296596804860775179492212156291738671635464988985383575153249743158354139913221365051551384109030902755433236441202253007704282111471419181475709618331378229434207254341031555828186693283866836607269163836967793201021420290468133704915343805924654711497083540122724100650394974216418866922744736899506252894502777189894691329634675858792642352116335464746864260548561315778403611431490269544275056480384788879432956556048443391840602027045146827824231514065070221048519592072312004933717673835237093088565264344841946773453824132968854306302477825543502819595717543326873583172827933774101026347172525800055108998087920427447783853642749720654309224796057214003306615979398156970613660983964055202876699917225472402063960609642994542705915460007353673154988077390830015813351603573011111410928015412280666670587855509270333850098311567628516164924255092928303908770988934946072349028658560205422067037156804635003826052763710823986597931848309367641656360790706605233434111377931216120205880951461437739476835388395047212945283498654808648378850194676769456232670199871331845545348373608451276718005678754235887195105895652797804537834484650468146951677538136951845103083239037496571621433079638601544816144955239351112121894430238269540578601164673736647956520658725081592753057131343835699200489996180432549502052195550206179277993056424583665872167535192817503344992391833256236162650208149035578612440518344040381599135827173843373404529744999640599186566641535612424308001626179337509214296580882832219570578431716979462845513309683824600036989961805929879506603760712432725597536508820386360958809040038001760475078669744332587723215438325998399864395011449541507700972822653695839438085091284110416290966370127424988176163441016674234005068361676482327103889422394820253086967222925243407506026512988576358781375008510056886874328274718732324289847733542581504162589550238544890684967676489282970728115843511676077617260489135585109814789508429849836055936593710532020599790443697353401662876453206371886938218978015732190762998103612568387648387269853601294481607317618658066805968373389411982650087326242669600240908832076226117839991574402105842789845063036014199339283624554027683509989720421859620902016210156519223584211948820209123783927557185605541656205455347196978661235058348962821286082084034973119988107725904545863376610850509582385030751284259642859749471596754259240349558609796434019664667217572372370707851846466383706717029954169832988691247281876802738125496293898760722340846570950989432016548760479339467946851343732630392230933179068730316994180074048000687251365978579585994780199496523427286889887178135161715505778391587138640405789565918232137081400587138088365230471671271822006018608811257260339862403542067521276908921081552260329300444101890637236591957119530302882485868478256488300525181260810354213518122471584004627510592444870583709540835318975215236103420408450764137674234730058822034323160474633043506281423210829487240902594764411891032233740497947408578277622048261821951428217981124372676625846895195106998673740227323002602615059706421527460232699949700615823592828222978328684019972903653781681600288411730673324496628384032435365041397536205509105219749095799860595726941384024267555967486377429308583140664803184453153290815321549434582880442937355680052766701800094788733588609136494945838526892791365594342881741864555941029617929958126080970645474650902342618403450108124033539000610734694120978386716277216137083614515110500772011704214057510295511491370255453350206814116524476917845869435403411879135071947286833389662476101183017004972618956118398981605390920089117277245282732995868083801073781314001876067250126926454645097673374700236767820135235673242624788804823436290099963301097657305710745086213218779682807434398964835524271448757305830321802494521092319912041786298321106456189823450495054397161803039568512653801492251694878479554724186382786275823278212993978207428675547109249821824468614795808140835500466875596261579061717590219271869723784547241129855757317937479535182955842991336928140588480421571538074685311302335494627214184400563239744587537727518071466016570650353750000780005476100367863699111323985862132218224624643435010363223985967017289928425234113154343262930390735953429144139338742821872148418613127907162685826684720595466403565113327927292836704215333378156489787872434723165771081189058811592205341344776752129774635506551109801811454708921701244106349239492424226738349439407865465836386859700260199154168385586155789670127220023220031686195419702892475742166676680152480824022111156190982909528829342278406490395339672008649956965447075211846134340977857777364263165869169876274954188683133247514531590023354409517149140813592731911461920067757921585633107612547070933961164415088007272939456368492532718589155168814720960114154056640038921028118648545950411900558007928394716199676003018770007299166134878103899189799277933082603333383340579193386012599266354350647100912606346252385743463526847492979065780017287665968256219468541077987421844550471048251138993654279944593202443898985134425672669327861329504851702042670416810423988787766282835019312545495101087037669638120603127617996218893187778305204501948120474270520457321254873390393028668085392898551453951830701677372533915679276903907336248590343351476117870517797664710107502450768161655725395482009480911058631732989175311841603640219503463573219594755860083208292675123788495516672506492207206097412031293135743537452185545498302580415651798622780164689374817239713381123695363735811057393910536917973929343197751880325243525860808275537409997210154008004697992794342234544768970758031314906549976457271996996280332692090891558381760321398926448802376910082742090668080043739925045412236849719409774670467316737887852049416564473707132543728313954096231813376473848894121827756876058275472115348406411192866091980614228229552490758852587114072134140163523811998912747789131397574682809342472823110218984300702443999642906444508447880276686539463578359786330143574307385522480118057855163003059480351702305291761937668044897455190062298141740225468793859809142285837449414294668405678447862996873037366863397510139100798455883197189398404205851783126255609907516425666609144857660683679374480652972403709933396292834348332661041368713447259629441715366168325692987460751934900436754871245012517388228959426432206171837705951665664903889623415903428365924676238921543162109473965009869257089507504114157819718945799485168292399767685260590940847692555560320947301798892618229473834688688478774214747821124629005048761624209757229517860733959886964186053995691274261105379964864827288214729865447937270511431036415399504302492489038987190473804812173705725663713465147154131222056319569952971074484542325785409319607037480624328873057403741431323821583556267142756875575513618201917633010862837972585511567417230504719060873616277083262964429580482797563630823764361615455540616980045819644670667810243347845988069248477274895298262045169437003711201912953531129197138017595577974532179706899810786979967116140647258355731385280378144794618645821634745203985589751231713640797468385145592041450052177212291446699278647652010036539788997094195677954229000414384548714348852855651763080299251676444247682186490621512191723425686851600605859780896623668832012839653122703074654818211999482253881430040168114450362116720244462048282967776160165637897576349795548725510809105781339420347277448474876989841921828085630416492602991762303626322504418296296521543856287607037421868140047386309450159109132542103032561351107575582873478656260809325645074346337233422408558581633853715306945878269202052395067272475369001398011496431659458297164868632204841795219642449832794880631346462010891393287053134556150378876921145927268505146771355995890632238650764778282690168036013061708569828863363533982166411661335548040370382100344583808150558303401797120822493909503856609585571395374634762832404217519342656686392559177433783255482070386105633012623762876981734728224250946153189070215082050421810397748940765721499083247852854595100246795973930841106272522541569649389236827358143460772759803346264312598278889441818491738026870449603886707186477083156478758911780354308201318656582034354073422928347455769651498683915039761412613360789480997559164824906255168553679482474050984649608568188917203699873757964398001165295270277237226019357555720232631014768692847626362851893048492690926409854724936481814128316893832831257956621359883554452066740895840923148625755911051962200050308020425737002899660124136355648802803399956946560958857632199260300046853975598028765558317107063997506660476148677763563226116127152242671096736184025291082552446153885776660277960808983028370687781398492381254517178987577906769165132460310875518147960012167620168554361388753511114464644596594898628685003842938167759796191272999045913439604283622782145743849108066267372039815968331145831327755737193964762139470369487134483796533672088650760949443106748938628101668608093548762040629531426836790162232434421625009619198865282501847807500930929896168789351440485278448521019497293149122933664283836109583591179266973210503286586371961913064985733208661524319891775175613307253369060628944014036246735791686124190767973072153896099260914778003921829096605678051574245394812705158278656086176628088767548528264353457929751091037432431480490509972013400938712099679922667327456972199757397498352955663444532434557032626027829313689388962967691490051117916415739641516223459624143879984997239721062591045242665562829601459679012861764153524786433047855814962571113956032515036318374506194258790732974799065403378129323435496477095994159702169181036814733833330641513877132215173398409381746568333237521245212042635149480179573706485748255881296241114146469266177478173860156155696776808063542808133926222268057358604395739162738771435084847701866265316974888647386824309419601892875891202138727709615384880950656532073442058984978568214481099344327143794129234072975479326476182962040361443641127465240436917542835856614059594332610091323144864164204976494795520171710865170698122416084821707217101649482479807749180166663180760457163952518386095827183272086570529825589266492312740506731234877203497799829560941063603051658168190384801114703042390182045758372731652085922539947510938900121122194266654459086779269137115495078966657667654609628827777519957055450729792366620852350781689434003204754374040076217990918813510949939669431342798599215806292704213826756214353405924672023502064258541096859551282959888016794748534882762322608988214260279669494883399735380911531026157275260615166467574723112673113045630210164427562827821914879246698975320978326529216825843304790854783365426975843307795571952000101207872401988134949844384367638270411742100369511690111801683269994661201008605320941579019288976139784035165111599346420444148276820545506341848306161979946027048964895243897025843417177319031533093214798054202089619512507592936490162781474077322477257322019135045680559997856927754305465787984285946840858678413411453824124072065675598264826257619030338341742518485385403847037100690876508085350864021762101015672829143567367711035116439783634404283023478073545669143817704745089458721178783915416653092472697951952686392823300371685067876207877548178391081973218290478799329139607887417683308186531819994065979267822132271345963247140952946307619739674998463493636097580672536615518078598145349535821601480260233176252015063663993913514287751153532124112251505706572311520853765028432210158406189825700470439171864907241208917145612024917300437993499942065866379857873460604806192281194643315629256867108796971234962364061937388112180207379159818010975908011327225784300250111378803495792043918992883005162429217600337641079337196813319206758299182607848524757117752420168349348194140053916463935218273710489150036580479259761583436513553494384319150921462930819950183591670942530265403298032496761584396347114353247143703922148617843828261138668855215984613445058033026369143941743559917537871666881400452968934351987652723008458465501565659895211301104852881693941568670635178319221855955305000298648325444774777199550165082658896713964088988056795806691606580609404851392801022276976156138260831907603324548465286614649429483966773300807073200675104262514142962447145368750970687850660059394026518778610327654702806325729906196897591887386672305110123794932925976495748262551959273944717640092556185211857724430888945893130457097527258670714556514236034181989031519545721886211491710345305965784508261868074364977358317577008647587996432274454895007809667119616215136769508530892336123866628348110293980460743553427272442810490328075676700337727112094912843448745081356882215603305043883517541081483037534434208412208168360581326234576775427931619860454305044485105558004116794337671320558147058727208825360473106496793184796373527884478852058731828660065633493256023590888983537772507970200505414402105594610720764924409136337227897399466397512341178836631250900614162322765702854104850679744981271814676430841410300237525653730495276727548454599978716332533105061902402151814681001465126285103975983941288236986211318315247764967957774419133239479855287165302319986980239839847319817881713331034433989083795800005131965345233833901090970444714347942650262857403151815203546507282311838519865802936213522437975431938019834329143125027577667543168698886028656770135003725896964458686834176473878390665444218192358577310787002319174454287141600302682837240494643603478769035733261881143101081321885527985897303450534403303722769151404531823618783217199889890550829089662419765855980578341428737306480985290782145941126494992196511361256777307699460580206407239180866900201756956417595527211359337589791160475982315587253564456825714374658566889820373705497045290715846973763555870609280120176978053293579678380795022792200105201676898873254108389319250907174288810810708623207551018480041769696826290392399839381162366384787130819320185559267865898070985022953739494217542469625354704395473241339247648521037611777311231385001618713047106477839324875850063619911967787753268071392468984403882659360510854652369222619272403499121038316226297241144083556868049980746048371359252075390170144693739164092864863919053757393294556536775435632948953085479197356181168943469443443643030871444254910609829482881581159563562993377947392209785110406721664480320531067091303759488434578734398473707653747404793080903438244339705830532695856299847938304808177975089019323978819644747281348548648563997367907690393025212859195095945330313797518529818662620117612609532139263391827182563275830591189372106915776438388722784228529009122612514080523150812027262477370667161537297962365171711830918171522805265375933737558128234864296932266784713386959887691580950811504993633735690590084289200705482525461768954164710778011758607143286624044830552364259377579855244869608072673059076502488514081476189179998962929079540606916509862750703309100886611993183653478110689500553232123231040994315669757128432110589272907562665298306834612688174350276344573487313081278785396682594804502445089945385062622281565720665625908071060090719474158064342896173131515706055811399896076568427723954812062465492792246644108673930170526784065224750410536043235086881525438218840578152295198789560649956069827453289227327038537584520927092429466734689593377789658067695128590449057399130794876253979899894685344867084276328476440980465348855120943606428893738371053515595879507510368199958600924794052205154880777749983061313790264128273715757106128173624978364745020722775619521267432735816854961196988825831126166950522240218811466930625749538470869958657459988789278684738719864383790480463746222816126871276345113094783166175997075950853325746028493740010436450345565804494429503453183381290785088833385837869771084982066510206279570766983344517793452718037691141020755747743154293290326295321149788262035159874125464228843952777954992895647543471058985851590055084900569690369399463805412744078272079588120610950182666750528291004286440115969091560260245872117456045510940768469797368274814597904045521904841801154566347833534380881534140372398178819077576306472338368480766171878875254440731865830501186475632030171398339007898754244110262777492594557872631516087487025048062038162606284156754299711008457236079436838831775697116071774760197736299860847092256124190334430386806075160778365027891666283609317675969553014936812797935466652393898654922082126132776378982029467995816243987059362391705117507050493924429371228752072100479003695203530541747026881003131427531174456246407354520013033515441611612845306363822062031827141203471057333057060956104199977441294378972333619529368071162946497417467460616194428419577150642124491154067073122138420641412696715456643891594717779694935195834684336783221413037431073429174373437635441590737738077683355454522041607558324500141271289974101494705488647243415899129609228298624074551605891496310210005958713471920979723983683128011017526431868611183517017358675406492657915137405821629724201883751029772027692280780173235365852486610373552463605197417587182349087381977451996041351604688086082725590610482822257576746358191662903439070547597034809044004304333317413461423454127456779872589232409091510873059202427900149673701513477215142571480238781897278909931923211885180400304976289387311988687633977056903190741451762975055829507905515712897726034354672225187519472277750347806298881580276408830585887321140899356256544526325626293042854399332825503295028936990777054902947079622008390293221444112657382089568543447852253558437312693375479376599430699100569908215603145081988649438948867959773652023776380526949555871454270658517474445964682352694105685193373700491448623760659795743742949313762849542374769629842362040406990322328625482822335420165228291288443421575127060202153831784521856484115066939436436446339032946286921500120033173722315945993702440466546440107095463778627366769045642599775860341423376275925853631264370897307579552699685031320690918306791326542030640031482455986239265759757317759128625308946541251662284071633701497902673843253016190101372978864695403425694557263052203876294232648064996238163085500312651680544788556819973108967957554426839220485130919026882403377120177863986046398002560372060692953460153673513009351664904759969041534844228406494643578396273959796970119995996897055007139802671431539123914611613581834068087605346672553050422397928096566221091111847789650335190031281930814047064787403671555521140340703039890722323391594235126529717112144915912874696964544557092280434733841013858874280507251493201836765498654426190687675030397956939024213437475259202844493707032198240950852874392941278159586475430366953365464650438122955385696018708146303600068102231935356775884221706627177875228953937497394498460688195899260579042663242818188329768257087830890164354054641753677975214014916981613499304491042042741729907318379698513124559586063991996596689961080050494007296397098959517574634950113152395405436384247715767305796899780935112310127000606831560134705616884208186210590658438546853522653099408095506864518196431045500569852864036972272644964072209107280506565175900536331942571882619016852091109444623049387276226013009665098018150216116189314991755448664845101939640892424535185862966853588072370252086290396375135442408416767961062540774535439718720220389829258815048817462632144019324591263846776453878214900321873605288401615814676934097243424966959679745512952152475413003838241759677554225154868903498467584610663159419881211797133452509275307014085614263503015271473708797902296635683001787990288084193893922491884489117670080380387588878016977011134533491153480210658508757002551736325688200975955274871225357182551697875315095569086898546483794843035187061492313573402963136527912761526230610431409239565352297493261018023574144940020107575292488958929324580351889348336232266211070472227951789643113533222151331112813026996570565423666607124273606758337678351910125109944370304629076346614964495599673032125852284006812886320601384391535239320911579060473413936297323492759180894233656526093948313364810290643586311830825965878597847150234490787476787995667424852051040103999757103940220630691734742020896991756005288898736759396629367401720982195418337128233932862477317196438625665314551269922236776677708198643496799841526045194640459016395789604927913929104349027568381726840470522981408906713149152625044175452710112357868012989368284933913963833660781422917945543449168097066491318845378120257962155232128839888294830960254154515830155645623132845031741857697997991078955656799608252916553758612233838070069219579639419837426117676769100507357501471041273917783596347944115924160740964918923864162314431509843379999957412386084556879065017966046590401190093106491459764550874416917093615978054671746589930170413753904682544419849306977396303361433004032263704413884245648531960009102403591486043419567188919858561565546577508901443177712861645686219001284594607421607429571045831400462012463901102101932368874623187463906390518460908247466122225868317169890636064025404893508750600193538323584777977777184156692711224004455167705419310730388369438797889046242175900466660910401636227006450671672563298135619169577585613333903982775996522509904038709327898622159549437997063064807096494177080058122705593309162118440046358937856324358641910615400682047879016214044578771739810295260717300099121797113754243334882266618671805934535003597940626101694558948798528738239461925927383005865786236901271929638265926393781959687776344919278138391527346851031712835011677541289696340176336880334761324250065479448355160024231256646080107867025860376099390800451756260090655554130984042735743005006687743313528206170729903389370532225467004205889640465239361428307918540416966678324070955958770942320094156109555343344349138543884086108248624289859619741256571704240067876712368593537227109156704060621943472602040994139547201317552449158345944274919192913502355834404187206974345886053833701858976572062254668638991474061713844091114054244489241812528058737844437599033702714432320785204641931475594758314291941697190629769790449882130801925875904858757010280498900927646674318174193127387987919086670564601741410451836547363921120183127264213529907507531674186041139085079174044172658009288966400350856182993724721368434131495692957040198130016060875412795746641903179733259392402107416767024235351742211828571516183297681422260730902963694871330880778555666323972833422527065650730725189030903950229751455450814134444281654143644104921750622706436286101757171120483665814970582463578007550456264537446280525932841567885798506901058045279756262857220830478354366813133031723323813526470752577952330152891663952865431899957317457801678267281460222640381899566937994842421098248974200882331114001341044095160930831309054655031595551547397748022146240676110527161375799862835439696657835524567007936049751876795850043478594444834874734552599963239258820104452878957672333911085208137994842347153189526128187510890512135465496924606655767345185717740511398090050749322800709405692065544287992897680913853288239231274264963790719799785249090304609585020328130118819189798753861277050983112679686721178100609428860334160740802044853244141445794547210546989291664998194159975081170839975855253125347930707237719482373833676065541850211333735753571160498408863069626498901511556298277922304333498449367839151985626850432520084479855462969126299788313029363064633704503315526375204047392241570728577799880296353289006984007678189697563540217661942944247537256498457226550678735909340572389793781914608031982711392480497941100492298143175949919931032808979574725337681460617454331326448924803701346264266926317342443574270517747565067556341333600591783137637375920389020426517169186542244841360946598636267754333221729097280677212181229450177664232716733109192752337724245059080858927565564344115484438889532132702856054060064352403401177439426383149269420366767731249233446046152792228711747373206820737950407753807024875139736974872208079418362724579267158605875684373825696601528845015936360579976487955466689796317276414458267140983930260584443731183219527357824299238053046097925321759529437646696717859956554797526010481116090019255987703160369289053546421969361790098547207855125725975325768780341842823941930116764712780200132449054170687194060874864250992490041243777990256723623875213448754686801805700267716590457174167509358537466327846614717022291277538164893581403754204131631796620462601683005835840278084250847061028563214676349216441559656539951244111527225209885576318078808628374443953733638662891394399045918693562979931691320743108491238782696708173798380276007328352371305703835388120192178074557053921312504821976693406394280234533509698054521919641649696642051922322293325224980990680943829860823933868677395445267363219444015986590406652867020651004940978671302450896050636311474978975431863273763793202279530010877176844026182180038590906077029345978640932969511233853261494565585967711754424619462086741789881434778027023789183865475073672507012316459542104230368253015499272923049706500688744552908893664655148193848056374554470319717186422720965870630049834366571830309458525285629892546132607901723746233601382089476404721767102107836353063283918528942630970835241842688066639724543519498745949527236882351106475938370531361494523326299006061354420207900800784435918514238109540624635928800749174723260142829150664735646949149075313040411948746127584251725422993376561913228344136159688451230509792290809347780610001202430793367546069567188678475890291671628151047910984819968795053757476103438392892981834755913533728342888492285393965950164594229684902163576984603656667706884979061493789586623897851395030195525207115947916243038057133910441235127977174258949971813208993972409457630504381765420237749372929236666408582635630470188942847136621796280779475814106472039686900573358837832383938515643676929109532126309530237234188776377595132558571988684156351143465444921346183625820017739111963565973620917480289510711911931216161504935661400198915406771914740604502008489007852104489840715587249131814241237453147390958592854919261955127528154045555489486053043951830551638652963511435855426789578843322470303223984629694037003638667059755189622821668494721551679940102372605276192061750456049663717076263845953005334443878994432854366301464142075150267652998714841483859242046843515052858926483541295999641906383622255006162029851790807999551716142892743322162806963512162902965050345455980024292038066113122499875748777814543334957813655800830045879054556552375964308994728294156584689806294311272597554693021887912731035300216864227633661031890511086335963986070974737419552934178507801365337868776791151473833252513002371910235875886798039385529704998321830389985333735331510345804434025730422758682609723983422315017640803327317622631967565989772971839422971652277619673408573444137475914779317933398924359940581396032281346592478558756550575159428611613176739552834815080851852071547951439266728751057441386769718902087776119592459359290863839696200576865099629303818145491280734180972040320363366766499443919936264145227145073503705907609385752440000947482297136237721592630836022139158855909461407406976301297086569690667624421861836355204727903533175309360779778798470802390218595874487896074523749056283747418931026806280481743381300198221277706092184700815252327145986723437854310497839043649305860764535756025983828162540984963998318112971881438639542654408280086193057291799568887988182572440923086077708626351313609463097677409970284727668296668542908454052022919003034322471898204993824806075163872794566894084973666516228133694882858339531350502170536111817502101016960937372882174683892618068718872117122032067336498312812545726927631056482587901068575208080633928751364817583758109695596993384841991062692241136561171129547967778123862393493414008547053784583782851512327987308840937357211004586036545449453018681073293761108679782828034366133339780538614863594371635008771193119559848021828992677797694091393084926892397161087516259813646427951911630339179612919001760953221655734911037471209457900418602899221551175915683036249471608650518632279742956136519830351897142876022375071605999046852270284824202570096299382791478180154066416917925969650230616749677247841947414200924297729713888325116655222730338964447305270490241477275647154092376806641652822611221660551903510495321695382999570174114651029984898251643905699093945986820498552583128764456838984342109365894310511407555838492789369974095013891988212479916209888392435587365554523753623890641072663136573386887150143766765743928298320734613140394952617095308448965800565584630952329631871245183661663042774985273620234906785915576936220534724261112532638914302528937667373926286064609916642583999874647434141639526777322469333134089892282135236716095628251349234859268040735518153607196567395027069135357634343767443117249084553776703266698841449114808884801324930258438177011878566635729353987811406465883694172838736570843375751044799123597365972434455742718384733620516409860393102195921211225720343651001396389064945296714205608908617698288316388283825229707658189611895457298258107339454017277497834540687764110778004407429296639807958026689312946890891500618618418921853041643322169492782133921182771902167520208059672627494630028053887779459621856830743842989256463024089063366760647389704968736267734714319346437826952783760286146583892789336232361603686965888599440717090143857650085623703570747288123004277647474703779463200055437274736584724026183902508185020399413109503970812481221077612832459563995640730378422829494179041799135365337060929535804128449019567717436326558733430284401481499075465103281813878210907214339837454150957218087233216393141184885404882476133156499354030311313197143885666833802176668360829503236040595136775927155165679680295859733803613440693078137573011613002657970242655917863431943626466230186872587963057556366078289969536349814522388660073014771879198641606614390805777255192448707082910976735549911200612317536184781317654395572950385452923653669413348562178789261547404561504523088531184389783350748069944802081583047802929139502742186788691980176555468181445443074191102292721931864440749790317259939771362180997111761468900013772407009234849963308320304297321967582789400084665235071155111834810320144835294744885188632413303960676395857662392727435386476553325926113916010589720694912160419438436276922502040836018348118271585534392555374582362825523726253314359699646366678255933821009175987444402718522512906425157453594796130527189599488847824353172256275413109599850442774753526388871189264977071705502201056823253071154389564758303122551162876396883514326272862981524075588799596209804394659688932951904490105741914199814985879000053348961206916311175468253485829007683953766264145205273936078651380572241506897185582776538952151358565897640730148811113373869245888909822760229733951244135075100387258948206647854453929055116049254655683017922363526377554626840904947800372684716102649508826206935748463164396897896270083376303743017561945738907884810424309285523631029835517451745446606529767081994743205995165291596008715652115461296735413957327751678443484864598339137584856250554601750792209883587719338601394896751483376380213903415290428362645376374580878281537904708544575967614210377236123296196402292022895146968811447058289309803570015041036948417054728692275197044694697292034951969766217664143620321098749717299081440003715739281891528408319742294373367747782587092187172252984069305556935225836786253877699037108329877979505169169629957607026624877256111532102452287179703093738005633540592931089018740049575133056457554686458819253443722717048411076045834505257242917684423561001394566824566042880004740729261916575440953365000544583331333348665819727492760012423238225171846893069408572324615542392813887422027661693797935663441045037115598236757714312491279623141150164528880440942390051734645637803629395327787801636044104275918642025167711823591081249478448954880725855125745496079956918012971317205403842490960873636213513109752862098622426241874243578376772912641791880137675200320563326189241018616513034810244006856808606110481129427409009375274857858586840922973157793668860861996442907361574905330345107467921392139357341469378267840533131992354433034607195155205700661001169301061146455648916805009145005561378494045436931348591061841933018954548638521986008082004028633222685779286594749900693607510578023474201503531773730083649498916728935090935421209752074727250436661880061334959093061140711046459924475971754240199654073065408416973523925041563550039026440029227515519108629413672360002694120712781130876365316152244335162266919012310171362950133169807700976703122592334099542352764898442089109243902756481617004072173927256602429583715571067168541418713003571310230544725937706454206437302838147841910218688218466567138326128263780697530988608290663303966984683962467476885114506491315186155246294792481115987311090797711529805880920928581622770652756777195393112035731943345934347337295189941572147227619036780043087959047999266424281962016300988837148845043980122446245560266040861613319972328497876159317126814004045056189668690984708239413708551813261996376889702124152313781873313001560112199565703541410653535638452439655642672721743450531708970862034765475867412814640719792280574469540684927959945904582090187317658661625178733129693572624876301827480530656002946241810151431318690240874938411242158215083730741283373100322266839576907350698817682754848177304995391310318465327838386562671747600180627887580492540088784039279856464964515527892734502001541003131905096271080962889523768982872651391408194511671959166631818853373127982279478096384186330812324934368273270884716848408230651068049840198996614184868219292371243226293284424830236101798391004269904077447991908376102111123960672507192997931365177067316450479862322551979702992566531510159660459669015088706888298252728640598951425047655646438613971390930202571945855825271392719811327758886955446292060520268767522136796682746877587452876077863449138269956348008254414413182534720494801421265432982967846686054377906133891020607653897467837990904198226428291713569800434724666969930157511495371520437403191810795486894324062290945862326245220966757449528566016465787368842465402656045769732900129583787420171151005742659749253328682586625702458378115218220127757607872278753625441767851681849197994949764910003693490955081945020556381122496479676624965078580232712368944622866979631971539024990109911767205329659201024327415836646285103519400541457190714863882469446903822456883885007824410392501635971537484905694524560531254037917603310165347750019986495805835536614207169974117331055254042055211077318581045894610462735580709471466835287835222442439519510959648019339972822544123729119753352333978820050032094830778066283364606324667100180087066628897715761318039445308517785997967916175623642457991318747995295187367560206724336078627831644655047133342557745622032970583706520846148146180327955657231128913791506107878236724170631574279086027582680483282048253059594486535530533557360894366837877887790883577331658156656404633363117896557755386745135965474379288244327761776652997753788443212262675878961266383306843849005800577613730946043245733141597876165553722630161642335345100237463536829894247824255806480766433618052377415631403789337126999008115460840814240586928446408742389124577519366466994637359158441193177950085848065280520451386178972329910964611770976297169880547414864040358883927950040568096688268252678332587535835160050579458531484837770296761832636064913660564711850804916359111816805735686256767574836279625954231444084268694441780846545900109830083247012732767325186296528101198756674251237185471917419644610996381436922527648768652429643328488026710488044888015591064476982918336443256383798347892249924247347347492558557293151861103453413733567227462578276718755128522961571935018632517217599994227794412512769491665964117645331130767839435875570151126833978807782308932767292196739065650167909884959899971836201837724669791646815888400401508326413390170244028639070088310664906834976762880088097131577264334164705251536471773066139272240563257100139729989909559374773055963634856006159849612535183107450428280599101135615276461371873230740548644387095103762391293174413926799644747323618213633118585804069936583777606558414953328326602877854696894300229268531019343019873705871735821809800669389125076625708474659506289918468346949911962050562881006235243400502407512125659762183568345522576684049165251570758414614413289520970093068729022716370563859061059216969457351312296992925835675318834452109537570173563261816644245918307191732592805373518481830987229456262172540444189864039750384513606111006210718088689290538855653803212319776645007978808922913907197183215533766071468815888614665937080218118486409491244157801586964737239095958580311735493963934232398121883858322269062273043691547964773290362031023158462282118660828589608169094090006189644213461734468252143386306086410764913030963038606156122694775672705661641983226612829559405418526700993894418145266998151219653967190513843135365503213138068242451734889475925031241924841752557403818235113902616355370936864688471015259866820062966604332671588470284672528273675136369158934985721514957696957393793129333387868587015586438472121908813119471337087338232750005623992374477172103479216899958700150469805895623651885426829398566671272305833174739467989387917984475726396699725651509335049449623932989411838095115220273859361991620893155937352131938012702984818829682456924664015891024522408334073529472376766018719083566257343946835470483622445461993712921994552160770522653798347510666769463255511566494911680705230528173086908826823801294125418146730584593435812734334074634710981016973378451137000361466614777973756676762211878253942360370654923722566475192700250824888860406223409811545113334223901773684113599153372373184676634050715689668193810358548079907399613453888826857567243504591899740069104470411162878652679201061613247199984482371523349978363752301431351328269553952901086494205818604396159053058259754001573475299749827230953870577210005396418869704874528973591568792707994416581049442687939022278200261738842463895922113926387495411419594330027084671423706812813778229848743892258019606732295576646222560726500832043734636892069742573101488777832814597005506211252970943955134820697067809204578900900556359931930300746710425701791847467995201645098538151015396961735455277804306267757948771097991362593662234937064837059816841914409008692838417581369607702626526373984217927518655855340018024947388424795076359369625165815980054901107970726953244886137434993884408366146859209020138746292972909384539568930915524703254564948483425584353927500268398089195124385714727889228818004727979105941649371664175676509443374654097289014406328130189143863392806334434942400260228810471699972553393957076410706789505905241632902212917615707202813379630649859882322426710298264264548227932715480458764992124132126818276723090347559579303115848248948301417317193431046635619982934226608452419772743000894757519064436425070401157381317794809599533926915579884005478289536523956367416572964880463463057367371172158099902098944537332554066492445556570479772079145812304506188806693477316115492135285980811109640356420103206503138783298144430856387206579389407056232795868744608528406980628390128319940403175369817291011930274216487446018619632159446845380755709872212964758426105804371014414489107488133766721383545414247871366665387182071284847617070028023077139862001523285284674980517160094177008483060781630740674129158570458579809143541609290613494597096889257105679100556752900747504379946338211192119990091221539655631726332987359358386665001897021037681056553912581127425650365892142910191935677400796661271382307140818828418649325456700504789023579983462966520539034526722973679711222964757638427953370703079415632893117466348996286910518604722726888778758797953654811330971852577488362549950780896238311682394650511685470862613640217820445276226218509468771458466676588999479371028457027858288649455781921024708840980548840494289202758632513512032768369165509333757568774231103616106683832158080256433346454271722024956218060593586057783683982546182236449833541991908181754923962168710528049514224637589120113615979984380345538987436863794164300305130378895831279248454986839906586006407899335281278519409840167197297270699322133907184209551782475206802684636165397716512345743403044324661478177119961085537282430917112635195011915381033226170096078197922946035526018787669236212486362488512903544283973792325138955506401423913076654675381145244024706837652806414248720891345137963859994493516086771074601432747723851028474946663633461941723016077362976288977251283002580846877265301516820292508730013462199231565387199041060550741930363390184442397874423384998260696760570205353684564642727270348943923664845900245979494739486041667113357170281209226805278156883353132643317590299465385748521847109720477182480567215619231319966276378282067062797786438225580872740355388755763722582999050673591541471494743726498397870576633115053342116121745340896541521554977462478886291183035260403687328220250708935308435234580815071956958892412605287571839649630550766286009111672617530072817388845881237359853726929926264266600217297690409322916645780080286157310501383405996052151802023374674932941095769139999676638521753746488507214642276836486091831973323639215924903900069678881210112974635837340525868785445702221462087368587279664145301762633541558879405907321222539467073782654675608107464960418043395795387211330646467992861229485713933856329761617850891155827661197902337999866357704749637968223993509579545082055051118930347793570244303528304428347024105904612246808113753997074287434351207241798271000829331913714192887714098986370546271136142170603160388771587341075626603462603469320575746363265306120596147410967864366328128489246217276990604400356483137270171843261107628690706296287678248337252181678495208701873888835266818806885615538210291793846881259759223871757568737766365217279182935988891248129048499965476445965554595153192301986734214396269052453374634498603717927205427968168892955587945755341314658812833102455747928050200866695716939577801534143906770746884443719972294731420962430984645053185396521906026711006056621714505652396167629158214100393073338929186256703337144724170924079448220819579349698115524925573254088088316481951994849251885979718179165071886497535369431957636602624261722924254800560595721748153559340925382832433344777942345089465946829548015616400884023550373234965498786621710766801062510274472340547773872282337063244223465713099833535636179045129664535920772793879392700954660146105091802732697555135713654909405170986914333834373538622395662531670508132212346736878144276185478830585005810785155567880769397324212208730661826200908305041506079878672078008638748314710467962218043947575563099086244244382809070751636039213609739671934940819820051893084634184185137758694213859700251923572103523597814756562837006498935806194277478376736716568604401242535394254608374734622249608298272472402187537341510443884271408930329039663170598527274357572249198043964068936908330704606903363403761135669272008017206016525870166209246565318321783590348318466849633623177354463039337934892379583823380148352466207076888417756468257271713619148355289440361157962468253470999577854148164846673573561133803192065822135496782962945837948992590906571508585899240368777247095602252060304105945472235734307619920200387034244022234909496718095119479811812317662161328126574188879267178040238578005598529232561568824676516359048340588004483845823024199841762420397502821442033237813646956129181609088070522692744785023579437156142854961033099970139477214606174500788247541700679178188133730735538786796010124219243417398732897632280986762293745343728998117259300822232462437598540018372660873832647120725544913064336449951001947825445255425611985444689633861923341088611902366362520061671773407268444876708707863399288518785748868906955952057560806553597236255486657680659973002696144997913863949137643343951178186561697245750119555271398766633102419936496159367342333676593518995108210508545586590240452439501495865709751688017729800819922259725289161528326432871330191207202622505599302105520059364272067206743658081959198389468624150753802751656622826042558448723696342315273704964736012472937470582351894637772876085862713952359990692232587035991070927536077178731275481509403512701381707948704002794636433688427716924012826404447538300216806055597399111532756743042507916896649365346106649030339264547982624507527529703551170293895493926050261167328050806361911350415038722553548052495030725922083212991676993938578960521919040226593296893201528053855848832676736575685837994286855431488484598780431993710784840893374197790800338636966596327000480075341073313028695828601359287661350885694130726895270622119444657090135000285078170081732969360699447808011650899774698383275335446223117890041424456125659236190671377822188309901262050387138637461107547138243333426066111911249960431197487300355784675385580931940536564143872408715930702800223362024034209266924841036541392460325281513910602580690086792469478464151377425304908113337485925659032521084378705836901803059338532970010969600087425044814184589259856965345569808272371276255400483792707641017020870006758524443257752645790361826803605262387899668756268684575871134948261702787264207740532779178396605930246805376125287836224216318147642047643334565869242915619461741479293032672745331987962759051058255643906412796059960516294105583577003536563242856713972433093599861784854409718181725544777914093209591840501649984386128073788718816754788756505663196319767304705864894624045949269766453285109198744337351215664488814513250978299799856828301830292718126587579974915259421426066384493476182366943613010007783474504544383940594638253164174696216796375403949152116008355340458730070341674476885386353724175911919125730296287576998669830602845055125425577813049196573537081097538898051449828195851720963288792497596687858557626872836385771428233523466567958926948548919544874241952228540275810132725725884846046549518516222527214858969727263289515266100741919597178328836594559768570577262847855954488372407579162883631484906477914553487265755850111942264869962439109009594842195050118285457021898741034571838981790486364649082967773150836776997335515074170081220258053885245195363983453187617781231829233845161492018946787202174802452815919012422558651698747259021550762497491226737659456330761660211943484032397991440702488173434330292725710928657389894240649561810909797654985118424771133900728809299016301869411421261170343722496674766825988818337774891530013580023146024260472055275799319899409643161144298528316114869897317486423082626493416316845278016222869452176524878906995560991510960158794169103884595635966852936125991245729283769357494996000637454051029331252353719421156501331547537362809071428157731851185927633100144847811577305157277411636321762995559710643742787164040829830710463054191559937148153916125547811264374389039745212073575767777507421150508298100857375238351838357539933202975989157824880504120705904644073227688483087435345122645470626940975444513697572570891505730232425735672721085168470673901113721018280580460322479166007383269145415931982924325433746486049633965342248172938325475111403759384377805581002679023593384798958654860787419414168840730434173496904240691742895829113388157394322771015619624776355190240217127468627824721979967626629009191769556438105385692640185914761669543194077693489655590603130341579094455197560296624875454879091117532699370937126380672256751463060740233445983148205780778552538169343648053568079452045386888722145805202281371652698201162506165729737974807500297233921909750122049474941700659392967296028738767195222550630864385036022864184376624009174719032833908399536747468613101093275450853701032488164563575489558603679918936112978761908356737312274823781827018531064263096134724871436054931890377026133291202074118570203965492336859086327290034787222376598941863189523397575264482623228467814741678394175878779284134112230198805548371919662085993112969783033886516758544622791340538447608394235553449033163300012475799652761685263194532930959627313146726192661819832194566480048912724042165730413638330422266489785155626456553219711447297326058213214861528010097276801510402989652020638606860045981614285237499912085209347292307977350301533905977647834289074748778151734815736268828728847309608641886645303294760075330935853802770492600732884329411952086482971131759375253443889588142555483851732952836011377915329011335759811747590808295590475065765845686049895198699305066250601709707832987606304681600952109729778751360186320545895578180059587571719117232350915787137515399125515052606959476059331576350909179773320833613680719455156407495330357188422563693171183439732516057365037747321453500563595638262474936382247058368475214260727919955251074551304244338336405493970033337134880029978594657544942765183034121119702102998733619911776479300476493264915219099177723625580527127257799284186221272202594729578364241569518389042618629319498502398088279018227708670870719353980183576382804721762702614902491846340252361295645126001797544961312208728483738833193857402018908281767850298505262156335275083393941014555472125637636854640790946476538165508050017967373743140990894748416914300650811821039900941917142905544287434869177808284127163283349333738760189805192382363730219765007029919984095395364081929393544844337867252570777295959613871007157921472183707580415005441349860049290749969893790348810208279250693005742360174677126398250444798794775513836887538882077572120635319586500300839106544714907549279711557218460901553945733251863898128582468776959800827417655549925565263787184749887063291494390803074172603675896802548718373999961968293266122412170677133971378809252017026230147178208006391621359820529738550555820959403332647089156195552235663806264125747913463825374925991288014312614436201171810061047225858418500286341562115688441856620282727660065536243416531861727054704601829523329536489605733307453064730077394581740556221801029658695455429623213626808519358450025873573058666519561744637181113447756361029316422929997712848473992479149975246975746167652401333988711899350291995072594035417767887842758631733862021231433122324549995210226464191705902063721563648704410426983363333138216958848319812093693683591904114931623478727636627592154568410702417405297925694298191498174063952714478690511842343371955926123191937579062117858090932058847948363057956121560105651820752164895293647504997836425968788047609259997018653611113136048448104343137267327149325176406779591282704180928409930214809574578663493779227121375537125494983646132191054790119508054816377823175531880540483447456823482955282130638303595464797553133860371316576407833408859359457376719674086252518097818178803698601166138834712999153771123834154528740489956469028260300688542763451896235735546181582222140719678668431026826557381151949371316182349253043654779188727730395772916676035989068298497927532644579302056250041982158178336797583245820167033440163751943613079360668770605961550745818730074058855418570777129376539546111235520177374526753650277123601026263711408502493754519972388118497200485295407605375755048633498517603934340365895296086073448055312295533568821456711805760475884194205834963384542165377020226288732032814262719241911346980715350623640604880106101761396430655066646671459774792751275013133465967646396069944057031186056087812280632896781657653727506296728357626397482838464729501891798560482491985007991609232399766719647678330126384650808804283111098502554661296861855650350012361068529743566446561984920921101266375831195462401126619489300838284386599999928333379487659821355883933309759653943516874770254203805203373382317893878282543047736859273772357478886566858736092568691056377446851131559478673651648492178603892046920573921373965976293426617993875988610557138473901586953800144003377394259635248692636896090870539526251096127290887376798222410747678488299026259214172065135443271991645998333033382050970236703791891297771139000217964645568170138089418258462959876893635924393798037012604370001954537532094758565668626186913776932365553855337366401811426040117126345320537251244688083925045538064254766280934506039108615119488314246477393594536113462632539790305310615515404757043183580698889116850882783575406260470081334894277564198811046150339108196697436038560732670871560877665885891060896072087471582697016905626687199268158483351741024109506049761333221030468320093162948196664178664108925963354038629241301524764041519532761824707235278977276957745431491457204054179953185788374981085050571576711105815852167055220110024031214717157984645854332489073410987610992956496761565447188062442849337194222747404498379859647558413348941074260833361521207750192980151294656720842115507638816459889661764643697603289243245105302982505122426807037312128083935122022554084151320294799980575137686493365567616784994713349269562577390784837182482831556792981972877868629036310560685800990722240215387661471364480196561481124538862716542334288756197979204855730192999750041758818622035508435269374224183477542357560534672554956154189883817856029267690850613136595288039173555602456879717723106032174576049759502322562941963790630937955810449095876213591677865829539303065765309230704398675706257606714270638526055475959525321304780063261071076808321621001457946409776926800691390719372725319228526274289573895041376854774592960335922726252666683521707031894962827245652845824142546063037280407774797988541294635397999246474691335524337231830453538489080808931525181357684852728589173285917464503656120068829470503204716904153768678001929305063669577855088550542369890122298087791267061052356297358060222018294315807355521909375865774736264736992888812797829333934998697735232413759931554636311929820706537274786072589973120693062721040157239438426087560393263870639290221903085890987772201985593853726881479322882922369825904643093397881652299859711143887919168112556374983131611093190611563255289261205865159851493976127055624087676714060590627593678972863204655894075319271591295117018443755758535236978206034603081114085616222042904289052870934871938753668199421196787160344751165632170440416053513413901731366894638873855531386368243369975985970616457062670413045912643728498914835689045560909348101158092318073018459984087990904615749310986143133159197840606356831884195057075962103268508407539511046071367743150631865568117504568429109859360948634686959367227758077306072883798814246810034268587441953320342225922259113156871855129884383997718184817757527652868727478679975609559814433269798023224692517480084804373540267386844464825094568371986966198330889858783525793232810047849800001659240729031466028150564724110345203157652765771714505108046030512975963903369048782270839013310400538514937353749729516134897226397902119889634448662018819029576929504346472305784526520058067990645390049554274873960333111513343423239392815392857552418925427533689936707673603270769534071539778317693299858002902473809122227024700301497321483099349332418808211182569586232946518575636897541635746895986602665172871063731782115440732830840958229371768628036856451591525703290275690368571298831278118747345960741731009788473156283864948619310435016618122663037695937267645885383809430494530230302680142109755025038907214842460093398754399153838421377545972464098687379266027941662047086632843876627366087827215003598927765170744547706538396196028343102852384091338723785639795368257883705830489472663481348213171908883396336724123153639729520379956140542026523557331822605360301516107672701613667753472021089952406019019073107167115721315313139910873460499485588793055573290748667569249917791477776275257215331530591915437576402085562431149445372545956809702564757642444230904740701449387200931485566126738641899425494931363104759618933034909499307284324090098660429647764160636212894769517265674169221041267919762026291755853059616058835981509438139888155464739539002210859787185924059647802767889239242804773232416801150880994290751300672861497273785041600155380972786910116538163760299560019987567710528743417964863494875902284345081024845232428506194564649282883380246745314360076653939325316906934715341110259091559509809996077710819240434008174019090499522416945936708415512633504468374235408291264653803549416953846871915947864482169071971882790453741758978656539635436417496421138332391272660853829567746264220437486137508696560381441154467817463182415780125489762580240567221816519025525646655104178403139931552734970128274640783796773431039575001167643501232392187217369395615725612096294658612581792259971229360156048325293246605900074675382891135887696605023043275464415772720413553534310692302099040958828028424925456609225504736786633535977670114754779378951221639503917488370060692083214313105651140321659149716054503315260875624430397512016270444756654974450829108449142753286512578843201433719161950742434585426712768110260079969773273109108740407138883985930205685477056812837003241060994880891203723375156916771294476770105736285175269226738673324904110576188363433437399317405736193536907770580699187001103875506825865123396341929847330966787573203290483700569033536216837286915868224849316458641309955612807613543158394797965036457984422529399803252134609728622695362672470762899717796327633461411207041541483053044019675458162359860634665727330574033424675682539988557003842039565097719954100268376282975119707156928778058823190261710147580089737378346499210043057076158595322507336108729570271507431229792031372110315120578694581824201741832056515117533812845799817329613000972285911308282090905331476011967818503836753034704700057874836099759090912963034418276550511984294261174212501745310883761527721032091623308833571020857721625950992529864364182068943965690856477512431829030183533951091146751371853424630585177074434321613169130454456207295577914988904854785029494251869923015642048236729967820854327708171399372971364728551623691028094394904980957111479873532633610861544909213621071957862718265898464545958700906924924882052343511286873862691252933569556562440153334475671624094781182657115595475669936842356249997922772333285678478624526949813038295767158836825390348461671496801413859919405559791791785828197578481237247802296273427132738070171213159345402254416861464162064185495562201758027171741932960403072428557591403748752412558364868478265305790211293015046009300979113289391102092842221262887439723987929998722171268024426957043640826917512394728858097663173521903477402078301082500823068674816599291621420437855969070083963431749157040070491113309702304687661585748313508014447599285202072786040624690986245818371056631825492066663392868941642231681397853741745589835502398141347627568661622118636756113454018506123014505064146476620025479372737016911509105700588058385528775155356834613555088814313744985636377736943347307792236920232819512601988334853193084139129692103451156646155817184516091865304897119538011024852574989315864723399926745372521914878779978880756267375063872378056469764352686130677476116156403088981072299006136202913855386468368424583544342072490652694313192636306455791910328174622465230508681145392237903469993576181922838411783111273426609317171605472302748587000104786605983536876204234909356314679354437007086760444160809343038896416912293846293502166110021076164054661453282613302509899295539192759629946278263263211656587431955173359427872479954828722781079314977711035342554381663505021820047559845719470764296782715877268483623611180659244515952829152301818089716722717634965228375068073131741445335093301055862157197336759105167204885674541572816321725939792701826776592787907269759586524444798627848766953949146101776057760360711075086603455755571296234540663775844877314065805021814441457012161388944294254301272614399603975154880968417538877870997710531568960577955363596700780699856501195536169958191091853337403661999066186774586536593782895158619216835838537205517181966990029062252442971964776076579212083499798148310842533800664605646546284410595975870105383783766951341441171157658015291972393283182374190724182705562114292481259500862193482545185655397012584064777459094161077898448667987879836035943067050826469850650965071424287984166501330336475959713294583569058759697058365984023752645595142841527430934760028480597374451154823040085774538194414235491878380929229783184414022384436112322168850562433541858843251154472064328496208456328119410827058831893542884543650548453563300884266856935636428902027669230848663361182991429872638798806829980861239497632951046359133826912525187946694508941539649332734549729944898362994739917547441647197173177987268394360240105216610149815265541625403854517795215840024958798797410495248004753558164544116079649674374767184221183581573767370489681657618646684473995745738638952849566518957447866597778195075225888298702478900964065318520474237695238933550121847859966007408965038385951470180407234577687838560758095616453392168848975425983059917537610132320635432534424048860000309082261900373063418486886143876373649417887401204826095051275986339050977024247252980175882639229387079367325221116705792644140908543740148530459025037169637477458607191405425694381561170144378884418883091592292719203584129871622866850532460389435650023073416708375186459536802527582405209237446765733512706016011703490806822232723412140846959667332516156575806659024310130320641153751168740775678740603592587886171973634936771114265430484708113330323186633985509494314397480484078764776783277053488015967141016984435669780845487805182319957564073978831770271135643924204452033300760976436796999004095854955620131358480587537494725693403309091728323941836921932491518687235477393921275611794664018511800138075010277721713064204253265553611432390788203509453770750843488923010206936485172849761293833257931632804024023662247707358488505586196021481895075688961464986471085846445373294965523337264188383262127117827240693226571570786417557289614533829164489186520495527295263300281049823109857339430816022566981711150564218030749436110781361389682204877365185667020919787109427227650347063385085500842117094040508256992457562828262781375133270805294552322160845405765437854007179908127688366953749752286406714615345649011269387426711403621513820477587549428565722785336658487290869174951010237587497660723016951857365090579491818691542049514818950633136723233600179192443975940164167719835945106934272172934837133152708252285878147644954066168266066328173859064681708480980195630954019100230303837721074832278139011682082582389277936139561206216213391578640790409627777430623945887116813593241244337109448308742299489657270496966891909767872956785683749182662280759470730876390942917918464672898935038166571603238341300482214907355731011475604391076423070499714171792722498893625118537718445653611243536680334158347109999781275045931072949201640040438736891084890000220658968949509883554543303448063469068362642692622526048050382229656658564454638172578720242239306031674501605397755165542460307432569145384140667700093348172625337857836954968801819714207583047902504544932943440806547069667092081966871809574518223790333116866601065885464616222513680755807281783990499382032540352222147912787357337924050581704793436111604657520350964992030094306338515155701039654361560042502091754083680251075696272405400706130739148399782154975269620067771746125375177474080770421469498072465669210313803655901391446319337852495607651289588470395683600524056037732266484889767598647222236870457260025131465330278949073668317542852793043641684491309014822977944414539776700050476454539441997442534009022064970795065778667625625790416787951719322821604842790422281457455555258501105051118532051282481704493408500651110585967966113480543157990100271163704146255884514695315016137653098634679351398306442172125391421048484018069955555893386469844709722072920441600174464574485789885219133254971330254820980219920946867055130885041123215989403060607764070886215302252839630610614984492974704512812064392509526839331630165354068929280565187157265787411940217478091727995418741181137373534823204924028544437285424144786673531720397284099921075338521376852189920275476375155088032382034514104490336878610551139745556445344133528058933149507241545365042536863587651146455776385286184222500373544338608419457202578083624670516135441219360521249265478557979011265815919933225542147336102522035640035827908575507305278835431594674179374264974074094794894477957316609623021732397288402601621550899074510246296718368591603789059816357439266727829502991817957028068636510124544515441318142965418452451978873052020028802043389552095212624250682073625164648296888315050959701000226437213534878582602533578984284992642598493826986555915745522772230447836700451292620325907284470070718264639429939710579650492402721513090902016322578929364662069079114189091709554858581709996939845824188862304346386468537094692019086644250014237049070605479440163636224484204946141454073340772056136753779947174346418696144163556429471591970959124572988939233815001041229439585288124290316381893911829364047567480132005483777642241308322733790168055134561187865263787390846029832484496777676526714460909842724092219442087290507772474227128491998627528840954536122442608122367302636241666463676956582340509347865011435452230172110431829674611812712477267475584183473918296468924243908358983041077861222164667413927458084410934467091407688908115480426990464476617903706913186431644872934811624753142709479512183711895430801606136867423308652068568392614804784456647494574832329837112783484945756818482357381296729860250944563100213870768049043011088410435606595632913551363659537905774508634658418379378550213855073066062032361892026534379655424091388667805176486602355686801024443819982174081868308063265793445013660695883116352765901963710912216830217994317817811597562569334811817590163704539548800254386919502939484296333878802324540268683115920771472660964081472974256413523770713265586567292609352131356326973863345139232379491272741604407165332837276663606992078289885158189007406817883560033839550249105442191369494384025928975768041647987388754419071010073882502600250529371571205988217997519052515481351289265070350312953887973951968071463129797393988552240677107478132966112514244409425462058656056386484117697376509322232005813738988859893022336308095219342652281506753067731168349920030749784495333173923562877249889011049829135380994323467387064792939183829847365091741599344224180136090702185376839482371972551488138816352825082378087561773037185933102376901551814895668026451066955667635627033163755042821846935526079312867717163008152297052501399440411109952375878216898707228324155404378594936488165971060194170111775308197796006102061075809541843822637717441589308934402454807763589859838646004481913063291821212522007280634089056273136156282514259729116909696211674082471631451891747360069596699142308087833837868659015986702232142869157014142480704589721910542004790420726183894565916757662433748165233431013197777875062648144789623796854491833393254452263282389839955214350864723998824618234678333412034969696346523102970980070312729811300298748758845155628443101315609908946158784058400383614543062750283843451683679399431155194067233688033261838130190651593168620191839636438811828697041164945876942211365769814951731860439447681922394006701455127928254056530324642352419083789115209165207534501147751337617613160303463500158304324119830345045973111548023529147267556528539615498251732218702811891475582192510975188147499627018320123866466554470962703221196735206682568834873759645072512079691451687396399872950892928615057450939183524898641711515633710772070437194298978525854106512202087219851152011968200668515495090775699216193168057612255084107995644735723621151384426059118785236111157667462461676058949088473218825118818916537294130184756365083622904096877270759063075951737344653812358167205699861544933744135511580828599979725070005425695844829042157032963296954183720611253277818507824353239187267379753901060421898213335680014917629276358973974915103361029448548755412659458830826273087297415813599878505897081564293241595652057224388601584207810475042628112904425526350548296613431983475578851932222671869303645667271026495994005116630866373172740445456949737487485211033177549364625380611334474310806832630846622039370773105244279995137450193526614235225514186805510400502143876778592990110859251867499131314500087258371166936982497699408416160624284063083328979971618705057651962404924316599951518966497547503900114739890318968783264557847453725180452235972687766876242850753816616792488000823409032034807146522890222308061496574270447722125026619237142356260929122601825058373181197103907517533857713780776213177245287947915831714843227314735068371778815798520230352800599998697766693700822670880420433042717610360443602119574053183239775082537624353359925874480669523131409508267297420082719591871616960153406545781475710124329470340498901172403145627070070858913555130659474830501092675331050476766851006872795324432368964938724349140188685802176697065515885025617415207031509272651458735885771669074118956676294168134057842406773388665298433582820992092796000256053731611957486517297171140435836830233310269244755634963018267857351110563974947335708175806329870766803421309668272612847950604361526544217036355406583290195474112632161794143686238782446810885100608798206571969473153168872765582925484100600262887084707264146369814546760230690648480001950891529208834752002948330118357071474860460032318036646630113783461481020801040824162464398628580275352540541481178772578449824401215358088326311157679388344399416742552671812706870485790500170018827661154025989664563822695284086125700000312015134146214627435881881137521596235509096186934825303819680850849675713080265221001754452150438824469635391354522294838227521939781610063081571394734757164331002885720115617471919226677195436928312826604396069925463721960291425377797398316744381208097218818831236226603387075326789425385591691829772833273126155084174849512359891579860193104630204088365812328283393282877527485978705364732951561411429853246103430255531301949643011670379286563766956985479637443740469514404752486274767380255896740849630272538858173832095777727044265967645023462419588725735933861552680812047751364027860596714899368123712011862123490548171292454815430238041036501487535674543111800604500426130787682215885144267302962084048226136949742620817609999350033446197688418790304159595153926411196546477482084960353618894576122048571862646143232749719188085841721650249255612284867044407945280918253914446987618136633194396064637822450816138177872928278397648591104634556227172221781769229741153867862146057242015889821754945547494863631767227436470898021546200732501302370572121626662522005303961351678831013008568016798771386008087441449608596103041041197485369831113671070824797474197170808243016916661770771312763331363815453158913375254168398408478643177506675039488466367772146792112185361223631672188803806610698593702379096318692240259119146345846149741712192550199254747960048460063345981864608011593744703731663195351890879205648107281187772402039744024602129739110134992696648989782233646553651294973293415434068946943373818266377860503474934332702908375618011054934690179339428739905663796976347810695528961987646189850722086345874757753558684468723357249179047654807751039237363961854667533349597089174705010313969438090236340457990307072485296328514308887866880742498163585636339314194762523066152520565896307037142091574467866737683351558224442263717555290549395328823666896153326331493583928128224584932540555941071950713799703563742340097316130986462139379530870947165361256508033157850445730000941413946001474525441403816920993360411596583800506303682545663080628250094880200341800214558417554634801876535677644115164771043843669008537061169050325303146835437133581809292400768050958188888031319229966049866511923553334427159951307690820852662967740310259473022591776820132591077731585784477312075886450933987756187266253938362357576251588056203092312138665780721626116181270037560534462263494983862525666524229234436513969720823782599576261080998493754227356751224109232447930724282802917623537533863708763873518155274821112448002459124640511151114996644626198433900579254635394962288892436232521864025248104905959554083650286893574890542000912533867434313407342265195998144887626448318552732774941228785613062258218781200116285735213380860436525201235079083015059632454682818922475989132871694359851422675732581509249821248990518465907278237639649232119042056438491725564318734416229620060447190161161278608069159705072338317990240010621164747758439023757467891316957011822646217702894571191364126858718686358249327174656270672807513674315975075657747583764063380449448206683521783321333278967763836574467462017288395723672110981540162132700681687402313661948332501044648564646036412531741333323796075672937330521229745793335256616855892004375962513420306383429430609715847409538019741154953001028216505595925945919485334822732715544487352136534472942394955964530478805317945586293418901077793490276022180849918514125716531651374508750314014667742519764762046166931133260453878964516572908438615194431140161514230702247163939901004379068641034162367907418506463768256603895503347734896731133431362942854314887603124731335419670980008452642740142097631369587622585910093111299737936001355335292074829853672042761269847640066766986610534552072872187381806791058162907487010767369652166873448787438277199732718649255424806684238330274106960918550071153548924174440794337042318254560683867024205233933058031730647788593322929965546621687057128180663158107596988037954190286710515896821839986172264565237272159212726998561668843085968396028717153852669414793173289354584495315021859300866891179713664949241053953017401360785889154713408500397680364538111157208612956394709645574270823873126874988730970590053373183461689693417093000008616802780058956741522844366300229652650701385626568435888629758589271228973122504501939753988019599295859466744488527923464103724733413533839025948077395517640674147646580145330375512587839152060027305459805828008341586750878202182980291241797731523538577064067711668452133686650109064439918466472914384152284355957780524178692213439026209703590303502527032839798676548711129716415065768915393509094042163002921262342347128521083954216649117518876848901601635079499087251459442840907695196996180377128279292330631394632150965793664885286718536589854282324046387338281784815302092030883156972673439255833643216320660898884580711362776399966495706481333243008044307069228179629683286131639498341581788714262196654990514044999490513227583290203973389028542575136640742837719838951375846035685933196763654229787959796756828399831018152542366659857278588886806485189459707162034673703516804567897410832102068776915310505668766877329334920023893505744369544516023429794578060306718931576795190895808112827048686785651794949425317989898545584635110166292415067016117622197572925577322229957957026951427313412587036021325937476429476772338553939496080349432963081459079933815943114610237436482609052748926091149978175992425233969728695252416687315009238204121285426136163532491366251378662874417287369277732668533899905091442880593169617682577285592777855488912248808866962902222009071053198672733203501256083276186546860690046121765511410345328312712044352295100167947903133505342535567838691922343124905213327943612569046803304540642593143348598935298788225495318574248810376413754148449982952274890279695089814986469076164438957523435665064979825941525032426325529441165969405598958665076121533992974864105280830988791971237287616972907302953015863380954319401820266910469313930352663628358321962934195022055821562811510082783702191422318615775289443074012512069822362570413511621279344747937375070858534490402518946776914742064913902473152404739223757035683312553974447363697759131016724855642522704985587132991847584382118515249153210866087093894774655589097681500909155245318437110167970439422720060659347278649237655946958471716429025786327183436043870606152679931992517807196060181997889618914413296815327355365655317827878987704548492565683154048433686635893482791153784996014629433017853591892226871356021156380668887360245242861517707711106712851439717394625668407770725858919518657200283026878274880646248625804514333344541330861637868233257296257953800673509106053396523255759682415048279519619749459051008217962365670147705645902747898018100630951888962137903769365337298726812820884788701063082554158504213341014958285427718069494633813881682451903444805049224355100033141429208942257683134801951041953956483428383168994699706893612395299336477360596737956301617803184226182619920816348676196602758664471180876032530070874535085357549089483316670801325348249711806765228158023607082333904142811702294135253600330633026112455168649227533897653332750883730873546591411189798341977081211090804713744235632419974361958142327674056004446749156949455787149355479222541764298223075736651596039395678729520830762129957290564633327979056087360196683806841521600534098228717682054303049482964071437795896778917852651344209014796569969586033217610283983223252420909187497569528250236244494235687350103470187419905300293809698609087614945672871126806871959924240064653277115700461234695506725963015667229090544556889669490363819793746846586653406795597194462977563164582434386240379348980473005757098395158216139214440418894226816655348954143282061553926819933381323414313987908720655644117610051979103079211594464124822986954039586697896296360224807663263111856093817090755322596581714925458095004864281930723758653310934741026846088351017655232979279258864296905772257139082911909071964170853845945443359918962961825813795766195253377709395930937558695979150585469590600816003435570792205728418485855996164771561906337685043293655454747429793082284034010421477940049481806545729224483426104801520489332597893682357594775848939079653986132009777388783890023066496506731865265056828395821962580338070209708988714146215856544262375254313938425321275734074533191162955171187913699270353917235081499866237794428418843345714929271033322663099327159181177798427378975014789433268497205154307237560639987729616687253234709907174640540240739876530764999282725555733397102244685228197440635674154423398952240404254833976955371473159903911519958160949598512103745365994424396455866218951207314020177355678185319574500159138619106408997869328313648390096137571062723478005228242118426427552831612858697601566046431833533610397233746019991538893157302858826916092049488454130092262588377714048796551601554359374511078984718088470096060778907622069368407378496336096342509584708257256336812670064291029822279991576193941230501066561932438529131227088307156747196820218627201948474469147750995873774866029631262112393626268432315339171935691378989196606671277097343228082519847506195406203449333070378426798379941771882384778573049239862558566116335286152795713435314524810391638351705507787722297623979208407088711586623991923319336495574109949375410066796880142650207310666332190372968824698040807054186317885193804782714122565417999942520847288328203476858489725525747181941141110041741566799999641975328403240933119063192104713467023378515181682298661343846179559222892272724792951269711902324963913804404399574050092712081861325429437494680803495274028786638624393417108857657456509859476694892184500640546563007857601863379039611427130965704638609176346038756811696167424770017570120962241599529760603853488570014814031370011280296945431637235112508802119138585426221056899489951830180914171906159263693473649530715417590666788072282014882919882051557077635832956721911220357704249516850618829530889889133774280092605574823119088319103131939299334559231342822908244952580052392312035468409591811803767004110412429520600416749760555822753840278557228994429097079220373479880867350017022354028870748724156877915062146524891733255247701844863336042379174274985534336281951376593862764032817426362481472009657057617273393219713701624994376072232561327874249377778589269330335964016213344136498402711391338427470757769543778601175664910861942707182917441242654445981363785943440204322865897546386434827291483675790906124620843234390391923443343496772773556111421320014394443227320381369085729795736326744778943865774890385918099259886296977925891374705285779546130320543303677522033550855052641852468351949293468352432860294168994575328382103070059714264453901409018029918233366474407788470720216230623856055975822134483772962995988321194341336945834461478359693702832682714104848145288290526166403281494081840243768279808314945204633401314793187522373778064144956575621060530337373631466749971428199074239705585981535036662090465058448358290370627882179517010954976396032910465540606926458630212687402703333762870900863607757172312759161950765391337763291958221560239574342934468871298084612180268971042434170908330991098588888835254085942276917768288120756179439690119075663452417006163200810141847533290811300309310975867707303631842545293345309766615291752366323656474216904228061697515605333059925079176825022364645999570337747610841475018859988302655204068322532391058724489413214920420150763661972890004060592720424962760719992999765156898504788208519098035733115741544655500524131490124398995076737791147971421276661555365700029980643522358559463340291519655744773725774525517368467724114822876372680019635844862426037986498657582130805125486775367180449618700159104473879342430418785461787045785436649442843850304116481926667184975252670736583993025400618865946300442593498642188736746677914010289921935190341984732576022585319484839338206114648070364899786708653140531734815143246518534005640853019289907636016009140767076874864987866144724164384262549228598167910812920521882291519447434704103619261982249688650183287881228655261494487243355986406705534886676421607699601535508232824182707156181963143431092962804052569380172100643874560935856366533754096152099368441090064234555949678992586527173749829803717638644155408339933247328130954900909116944267647099606051366703401744118303662250489910202822410449800530639392246517643281963200444786431071064518182924901554707466301366585027750507967666944709231116950742845792691986465479689769857442471202502619936276904918689385379697748241302056076304338922473675747538314713417546782974962447706654093819818294053395278667728983884828299114239277363245716014373375263048026324942165455657671976751934720546499442516009891508526537508002510756054326553772723422307196967945272246615973866021741689039122722547133825915532284525152266946972817303175525367108519113588765425443579041298241035431744232764343271370654209963215706364060968713845246245663352691301220789207803854120376020634119553945346946694930916207958199116593075741982692987786665036590825853102107170150184413675291384847390819223564708665621950319865198555690374767109471408761353154871815930278188382078139400086999967045174005890292947204951246680739095172243055169301048038278147544641937702694249327243368125202460157153486104406075905633203741788371475352143957277788274638618416087213432549823690048373821826384009251021559976282492414832391100246927892536253848077699875241682775157981445345592180912352016230923561872620356180637137437050124625681248863511622694756689681361908739138611682781042246641848813774916377582353071751093363651592078320285074878177329456795722880270292533039303562960965509081112345990450064098314626001133976600372981338813161449862460738400410387389523346770156047656476774375309135303602773064948548181815798555845871362783153768046482215248418050024360485920424819532883678403638789956319332163183177839752991937552421965960896506553739404460898228965083088605090890249651264721191096922940386605909137826663597944840783267636254438297382631612385127135883189511072580994198572394263896590594982782417809235047599580728228798338367066100204159537645690875936082090530464645605498351090377847790876519746000574937826856962268923656473689664002376142139140408853022853014229240229342391847460728918244015840316196570370051165037483283612130517927679202949584496107578731219312362792490708774704940277207668639512899595810379182555275737019903563985512824029479351343047014985331634148827241470870511372210732637816770795704244352542402658784910323099442185047657104762926221526379911773502945540414719797361893916413646795825081052536221009567308707059953511023282255406880818424246132905503411246368206259564429291757401920097057467517837870949738346200035152023509658220513234951881288097417013828007277492706073842957867654565122328069601873592793842250298239452654566153768909500376120416256518301073537003907029150204753714277894368805917320302711857789917666634257164269537166959331831417686469920393292873147806545499610556358587858035598893825325627842779752774869590582901784353170386419677914076504812980943838768811633599534749783496325840425665564883523023097152638961085263284139935517370055701579243314557133926350649126910328745743368016847088321019831805725899635641749947999141176464087830985873887601262243929152513512743163114240916595798544231194074263914199573700819368632439542888918921590733557117772516588695449446490515695732422360494291061139881878797814569230082568163508933768853608784915097614076727220176526327006304042988298532360410002404018299071505820953486678658549147523103917653043924444519665134251485886593572530618789331732908416340355221647410415435261375821818187912790652821080566445817008188462120953276418823619373937158454165450046137634755726916725247610255780211198221219161676924799468148510221108354686977604706507970232697917944664058254587841235137839159878685765801747173575840055450021699156624893432775705316234398574651211255669761595794165500430927839580643678562017610936953432274420323727782921264107279273315388054265718719523146147608512412071162145370705234609873528525352639855517375988621522832527062331717710576468344207112184896971626329212490614166624188760417868396533520813403993199974584851636867649088685910452680787306216050214958591937822714926533322860968536505039861403799578393235926809107789054855586108859242822422592774477365117818270019813885316073056803365796762717845777429169997919369629629072997268103049709697061750361784872804915714553234024897008651825057184139097089981443210863274307629534648301060291760317398316298855807697144339567729015294792494892573053103628809298857109774203433903894241774960849678531158757524460721062635221799957944832824964981796880877703560490697406097558151120951620501327709107803913461147510049698677195780467282368221758850855512187378823843550239713535647675312848875111455843944130756166908021940470540250925616388730579959357100709542152424023897386614498430269643615697593835035800086525206634482325093428912815946824688131107670648072715392133808549088932174463059788581127442534488131962175507453904692292260778682863658751566809447504786267227357076953714897264860136280801508442263265972211471187217154458187742615869707938869559231035534774484427102772791812654193912554760484431809343679664633404282833273374185062986549946001209056686091094950352084418389916340306963343519971372234045101839365628394905715741199173881420686449188564896816333551950660009288433325248067355841713374961715055093426371894023253035425993843941877187420881455435435616430348910314815205765886944478270644910995335212843251910491246905432173805106794185988054401289425123258990996231232405387739821014464058496559741586595232058144988525103769306549748931350603293607448181499898201118274927781520113240464303834000930223108054725959755121674670665922944438571075829356865159801179019948045358247172345030176398914902214494890216019868415175873791916826610983857384537652804189009337550323487675887576583508168084898048899461346384675835827589450046648026022470795960731123470870190122939638421992508876853711199854331293724294847578836115174083358437533109066594270132580329543981526920681054804215521024796511454543319711530574099549378383693200170656410239939685203415131733092513860829839610344837564348547094563741106045616668328026369760559410786005301485403212528253223272517323249355788226593959508373340095059845300844861549376083077293236978053902069489843652286792858078158108085806495326331730564681609178514712540008807225793713598591960203211769851661813820572666448797145605056476417427368418914506734245675641604829030981897917595674479970441848154395604702337843568126761771579873748731652445882100164106192876715295197730961257950401327995125123044607173765330443488975837750220067414677801697322800545673449942537241384582367759639957228554593078385191403950474413617589100741462268192976969498861286529855178802499331966356382483829419247431923558426763507319858030301534307486182437832522793357993835685378113275565386473002476743067237584455570664332239670583789750194011098458453031203974160814952863365122483951151426513952136199492804776145672284844312856596154497313827859533076736960149415863707036217565867010430358696114579171483445820548229597116654702113627728249354079462907060140372016903577892399326303272607254506004036460502838092961007600067621093582161548809682798180459087699075582797111496748587103659798177900559920461992108621883339386436767545357823633698908816193564218210955951100939837537477554658607786559433062248491278978754508135580009553618632247789455782167285821565583485741692055782234361503253551913069451960052894986940468655864528839323919612404399594779057554351905822581270246825732160269935312376217316256389732475711628596069997082939495981464546812429119289449321675789363587752365870831262612976895221403712133337137363657009749611146795473894021625486684146352498148656843712993256610369032098432452443637457892832745325401013787354608708578491533913301848796502158881092990371435011496211919724372703633189011799293100919897206605891949918385269867800580939230917378195429850851684668129923342594667076177767558862080126141261464088615606370386756461288814378861816884069210573731007147127556028255238461049428731994983801419274943751006947906095976275704074256052792040373513225643720532009690271261787884195824392343316525246682094254662729793482420950273277702953598156498247338180616393871547749197535049321791743206684340920620175808477830518875496124423952011896490704766018606357333213987937346739149080881235134551377407155868222354558845754468634333775403138713026260714622401171706024010652254911986468430964157219449244602828173252536670353723004242498660648053112750195435652322568738263515606179781774903631475049573203258272282087901580037039472207847114408535302162674050665051256166950057399083273250689952126975261606027252472836652446769954693569475947257566855811894258537772576809839768588064964418575387172908716236658429546000645728360531387581386362944104313462995374182776271853061591934261217713201031002114525657669028709745553310907385811128955140392716687522479984987499178502589268902148245957825905186445482530867096054152463916486748199695691963759719630398096105803354613278943598184350869745259200054859003037296168307195762268543536417311817450957993316477690774640274025905255388091862936860458673952113310468554748440381710725066369101455731473828250535705756613939175526069518689649250344686647491465261560855050379139420298199422219947354382317832230368471373302474855942982638040651298489197127731269793994244683681397971930894515313010228207176024113229639122806181570953761845202287863361784261035310734175920397829165437023953430922591085010805655918772527775548002700192946141441537672275682553321417372014074713478844343631675916143872255943304949771961233842226616048964396242053267797041430802411640119680891010920634290380279255156967953244161928348664108382860544153699643659319691377778700593603048202291302651459229613455802971827243841968767243708449263675507056334050268371994493547326526563206627438083699582633516760708235495298561583433119524392297003987910675268314944224875870597119750135716880807708801638578432778181513027786831168589194611430108958921839289713359413928885648854509163725939835974207671570746071497524605986398966957462315777686048797201480357679564845898219702887616123194701320955924214488355505762723234434842642601175322306182230356585080470110118991932525717205499629266412977350428504370262289723585281626756378963020389847435594806121738739066853543845303929312988193883304118342377836147805975750584066225413362933578093194781966392974235039084805932006978991767883396869131974825886474708627997131325613717273081653340613946256855059072754586450686465652776825553429721408833837278820102890293240313242102002610635664244369661208304176869322010489934515597321174663009086712008355724205292251062850302940669270580504400681819227351425634658435481109593207340127496949000254472079736037916466970319503383284835516767605831036545270857655498002823947822313718870396521642078414038632005016875592892442489164321079620031371107462606935918955818239988365915310970042358174294600735961247432905721092909762924104106566209235037924431392689030306220340787058475213684434981400664399682817772883283068082967474851072684228563950311923967939970227828083290403918794270125640317319867054809038172901093826770327618187333823329928735425179121467416968444384160995792173492547541151695503632929460672187983817798488683627829099798430217204175362522299672743257163080332626794270088346679931237227789280490726906343593863344827373494687180880694508882406899726165871343751874071244353589993574950576391055026023488483193010977628751845555614279728428487603938721304909025418488426977514011626937613955045856899047300398762225695695285227027007070022363127827564720918907236614533831506450866015716672503044253134573076142482529934735508200948111074026427032879613545589972387692438810975970444457279722559558214831857922116838192022376660147053550332990566389961139502003559003953143148531999733956110064596295558214961621580455163249615249846254913386661556613057471073066064947612592513473986724042947052713945870057114461774359248919999779853985891554580117570754584198570746444171573528708831815566490671161372052484212406756883333463263093946744059153928124346865274150763671083329467993079601213226236297192288906112943956865890674688582258888398916501883553307523319815790355358685515578206546821833215907429103474695675663392485415223645371500388621789026343137853026622744881799998738533234152500505075994452916010384924296473792314485199676400312042619311018390010745597693245743996519682211157017225000078018520076909279952748195722352249009245510210083294350604709038217623401235278483873772731431981235331216735074162478419546325344615208289122378046922908509386280752677373364891675275108867186907485731511798719112758973717212220069790268627015397703337623539168573023532778080515008525981753295550807877886672815650966691615839112721698699388759112688648485453452898384500172007531788096127347744030045241675032393038367061707101305504380587173067566833533745378303685599937759086951306218465528579235933917419171205417969987256132453266577397569709321705621938004614828574998937523164351347470736588209810605778865416514732489817870094630138507925592226072971522620388194374843914310594095992584334465657681739689326110459870100372754352511637744161227299994101861956605142159694120635513144859719545286080974868254874524459036260473138064839379734468186624970072155471060193500238648389343756227635012792584941732643662372023278553594194930450011152493701147634634157542640955747394306944563542362081212241176373576970867776359301935638364440288936305078333228036674743943248657079895085250872741832683527199515779265271987637499790762084389463472126203607830817381428047878554978289786227472441770030163255013397053724176828153235161769069219970255699962054642437265357754725102403129943553864594831470194940156026684943031837836936554661866566254708258607489483972825155891603855349506451384744221188275629862063313569213435053541753254622942738570185142216047979181239135818570233638135445357112771171943216604661431015474198215549290475621090189572080606234908802904067854566746372417724868119007420655784822192950106596683535208679087585534490092713251073537813112328600410529188355048282568212439318097857966641441641974384650359754316704183852145907794335773149648457421486085488674529131457458931518483420505854272116027520701053028812182044257185040797177351938264441514303400003896508354760695211261435151449409699151517833258517247989474052420610045984073638435113829829335370285516415328184689878043592175819760111037188260115715212198992803575460838874094737522040639123362898280661873195323552920401422000951548088070610074538656397258970803032798551240570967529948775250348381191484476396069023998008588751011612900600807691194381030260949480659847619690480593217852139982865901636139729473334245297578429975902328892122887617453643431583753143784957460887473734258795875821990193538981422942391794151561315397930251464137986089598876754136943230404870285554197809229580446989901929045589068465978383379944925127160494133779070648657858949675759940506175576329347568082892202911154918648820159214617765449921182725498867656896225170636148321951406030844868842947490817141227669895297665284671870107291933779292824435324313828520635706158076925928260322211940276877904292408365323232151023540753423210947605321017167804788960416851071973969399186187946346189679713546786722440290516444396478293266946358491866150401165503213795823884640354533706750014682450893963508407963388339316440021557629487655451496229849457357045563984582865390103120311995586329789859964274241654564022155269311761821934040528049770013958185699504506269083218442209858065603603966505204050926529449163112247412243985455233459397360215848895956457603560112394722600290911023235818327077603181928957893191200422829722719276801057856446673340203186065797599897673630045155344121222746492117841921042993023304754593408148695733885585311878925724359962470195810494083427130065971636437516574637102498705362916929006099797979820814714713112899508518492003986404614653025099491414340358369556884216151820006672539858532035670787534474101821344997039591787397534962114723677715107506443419320670978481013906119468142996565946949980301501505043949916581936434061754712006023253305100568566199539885210969917968103065156627611400123939441274050406560022170985477796442468587486319694618955103513339164119590397189387610544264230246441278596632014847955273227434092863462009840598245338576386151933644320983391819574962950525271704159411032941605520070797004452742655032910680168291821505488657297908306573320056671104039316642894607397427613272069913773588877646840767260164503796909067376249123181569461325842146511243018088628385018727320829304932053488349080225799962089315382043458746206252362968122407755716676147083325307435180280156466152412335772666545968950153512096407409879933525112423683932555080407795389065135984869314857268748994901408530010625403698440243398573821267762945491927728192707271007595054194545037909180516361580836288870015386724394500702749898432185567647403247143923664843411160620931019601825031780683539857258391335713344930361449170866597972333881453092174031811747752032581674338945826496752752520361126273672109764543134023806587201125134514611723801638359472687522817638356655896188613216729989394014941251035646583363688776090658837696741829191920311945646978094249838609041603309637645292794234193002301740054343225854625094743545517096835436975603565019923851473718492670597233277579791173815247435316334241172984589412910750455504288587776273734066330416039180826874172606596159893360778633070199222318466648889304527152405511746120223016036619219393661579378673696158162597300582128112825576467959494028146674576045577470673902200197698318259700293819541492759081133733236058858777871610067258359623260496001605899148893422047361613271007545230048439431098999163722188623262572247230711979182304944435140335744766397083610698607144570069276396639734920292183462976443818601893766880534512777038481569085406140328036150280386094903353489323035792511739353041584113326547129056739888443593082228303303222116592985419196559797184885423887158089140369301617172570015570614836906812742295502793463522645006869343077482074666368747614762002275018155179697826673741459504387058872387338963291213957303994663054340289132774681687546695021614124655037009126591798302903887348417613972343394556935660083801609435561378553746892071454423377646719631384646526315701017132358397487466544236302779285419045015666457881859979478971251481140502377690261728979301308065657163121212079142907054215088898379545365916435512334174598794809276941751149031174605522455785458135586702153090077031955655899599746805741613338361641691140099233415564386836225866442807940336267010522666936192467472371364090542898520518835100369268187997465647052545068268393626406994422311791299733364106678173591597162898327417728872302052609804248757771006988196240372912716284558358478403404924364878183372432037161878814931836632132424242420147187986601290829544902098739959542872139066776982756308916794217401688235876539750420302448986418896369096316270120557681969929154992775142543788129467665083250351267168466448444547240410124528064217832732227760436916102880783588718437100518084017958014108352816351636038053463076389194761501869867367060501475565451912556348547440616202739383503562785615295889468170169994014332311095287212448270472060546025850066704075791114136827906978686587117792043561148929968719888032590349546258685078645156073721715399533910705457420844700489981128289942160212220926244947274540561035820926425126780398190545265944373751942813217137033612591057551698992847294695342429807232562902588836268426784470298363132949660544162538614748828347981673228810978487694132343671883348297513277555209811183566129984856870217344971594558142051676013631681044749870916364943156667001634124731526314664694470222860280711813992815888751637214266832121415092317205731891117328825980525201560900415547775952404089135009403651970848700749678332743233588694631268790098502313172066141132108607604861957063566245230487204929701679457814582009036192806782139458937433777693126987686811712481640849105253884239333690894635409235802310817255763499799694364597544489485664773280449886762357891730215026987964549842771233602523960136788902639127631673348690099465888102863102237495535995017161877940595427203256807509917230406040592447593475587819231150708603864364001669769358844410773687028457703794092834941402822129586407527063935399304447238508439688527577798355208317581070948268654551492346771164511885672238076006299878184487827005272031293884799820971943202275713635203988800756097935496850722217381909642757568466440784384976235954164378986071667348604995364292157690926961517095282542108602668881287621322828870123941112135608499848560226167435034883052115199522213094722311882454739260808544121534421043454311042835336107232244610950475490308238497623378772397985764670714850727011550335079176889428553256555785689141110539376812300764172733233555555695819795161678765161127158802381737058125843376445496393209033630888423831346474132541575834085328701621478467527366035329814219899900103996516639857816270835896248137581128520502746831434621865421002873579845306419721733111903252007346192981287229517898245111770328323475986403956270619085455073580791658971007776402290351977055165146315695428841424375579757096894223288731250154465913235682234856323088186214869175254442042503115517112520932667209352445385328575930785720519631126771596563353595646066381215699176134271050357968934692560977592291135575500449546809395941988076919375288865024897112468591619511911805736623365074921836732839574906693966899486388125465885588838303308642792235459716140863913280169686706096747793497025136967094921185182680683710393297681827934909048809926852979497855733371545681229119082889999649617367275829677225427182642232866400132724327309242950923056622134697756027497131137749640216045186933589599433451701314743167166992535535262519182296068551102552106617693913058993047044013055539478586631684376918286472343532485938877973370002374344405223057833850423369748670050160028663716354807214257274236347165982592000599527350286342941390667926697237987304373539379577587467043870950735671245544966030978961181945541702455921930096405938055229427692173509881950338542439019622355656650959811895084955834758326794413719433477706441743068760728732386031909376467452918921839273405652449125058695651761156206981250039315388458184406490819305513822068081023933630856535953832850815185286024907380888193971974192664563416144842651154131695628352519591124428382628810103084755454897369025403588236483142440595060433363721723113697973766253778983291481467685475411897102364658779329452455366084629871709766714521539359362956508416867938874745177684647019705601206291119659392716942878200104738422691208420374736338838627479266343817074600861816517701247380026891028324861454672894643770339434204648424196702561879164897251838674622230416516000185643129965411759820850056332395241632046675535001335372968491746764631941349922374424722463302202185954740646378821188234593940899689958667766370114295285312707935566323783256196678213665709220602831025653913540119066214292393816411208069617216043809938799300327913519396160545906725965724244388667309883949480405001995869954087761066913890684279935646950245990878656104815262619488029162203772854404310761915233096761345657898664927602310346708078390992627547645000231115988151525016675637395740190577034126134204163590448083907653748582777525966628543162988331420747782612095040776043338836635802430892448403488354102870614733963283464657835796697459258740113463457623216081042397622251689597347681742851273772134888431264298689167069631623873420014694898521423020835510710710502557188462778564403760534154873713405703530471604771067752932007990830085796335058913648697747150937612256284483514279338752636745707222002567691274834223794366061319862676094406210515237198485974737929740617724333077735380254302218943957667695095667279812485008486264258848457967719356146646462601496495146347149006188672601302167481074660541119266891840637883531105630441708083578019992232956434743032959791358894379380097270442582150692797998883144672532976896720924331096787787043725470404969378268535332779967817629151867127754136572668369349108729256606562281591526335044669497567922949764583960403124782609680807632457291796313570638055301817950615589346192005525020421276892047265235195908441637059762275805273353990572737729245898431134662089469356846280770879593423614342618357397284121665260195438481774502442968737870447818458084566985918167574593630071250992994559021579797126797928681418361794529381147438345911304949490625457775739657448250418936610501567223911406337904426932767178357282347840242922904037674700397134683438554640642707102611753009130847612735756388934449578014367197801389826534243776067204873056592069332816973770772050673214000573675534498089554053868887867159112407602402876493610914648563243513922828961692053847422089604660805903823099659189334258907900622370408006699792029798194409277173502701273368468208673831027079479355302208227752154460927356207151719553874896681908468028606626805266261730739559289324327665608205589264922811457207893258778236808279305050030741774353514258764320918185432669406906760079190821342039636895309452563340221307302098645862976896554724865262428461104736657509041771732052323741407565848993239270868216794264326875694735191217476911115775407999719992668288850793903934061031042132964682504077064770521769095572432685966471769863829141153779769760002581927239446920104966004285085470014809180810817266504567967186688064620584788093007116714190784971339391499399525524545209494650784349719810361428778184033220570694639515476946972767747706424864607939235195654366350830702520798246537427425699694577564626119873862943453280541508276209906622774358444862703767092488431396731265635680597853428581984460900825022815051063672691418876039788319773186265729314218073290550935385624444888087051585120556194413737032854054757221463407137369326552108693222709423907542994089944254445906867574114322524261672343521912782585438845595167978299328323642737457452544546052939896806263513733587214850808820205518659958034081488329701253781235056793050818818568505731233257555542419605427358319447976432499228822660435558523349606680905502905216337784746351934749713022329493965510415987839740167516618593605179338950392466205245511268837311120785257244245799623294450168341713595140252095179264681156829820313618827396426623321676441524695487558164084358212585044247670699693803758573003905790110515414779557179169312729095998221364115981595201458613678920666663532183944579112942949372746424648239215477975615733670895761840575322098504748583570891766352727809495354274482525113739382912378335184147182784881809377625946725543342069023837559765846744498857297100153365702593838609837888370559661656612261881245463878074036437755829259340136451738584462455407649029616220229244791778901424327249245624610572832994427679678314481934670551757083502942567326335264906514141210237861093296718863103717170461762893116167259029067712239858836596414924553081207285708410066076168543516663530341382801133819677912289974126655244951348338934636181282256499053411503179141167093830767768774232569803429140799802919107611396530776180407622194451519402604063470356799353883274378588152011080406490885175270082056238020512864218424823002632432055997998346926232665644701956357300679539057244150398164239082136235132717714586191210328112357269933087662553440894151205179902731473868182626644475280406727464085723801550389418912595893739926501687752743769741533748172422037707128664490771162603154417119414108348606899529507444772203362744266818471196563615713772424615456070479650878312900133434911136292975583609060175949453796861506817908507607566212738100117918293076118629911635574502602021275654360951138569094815424476722607340061037334261273608044855312147578890237559057711317455009411859748652962705885639173897159515988987014175869648654185324863779433780506989345553880505233124949841887573046444733144459850552473986539970734623381939800857730435695476169828265893810030602411218665685980207253371656135335099218859560107881521955992984830737114161764839950330037898824790345410532502054955693588016154598918936886572124748963613671862818854644786179243581710112551851317871774504307353645029761507292301108330802551534951869294849716900991730394769733378956502295614877878048366582834827540230192303690385819788534303828558273006721561304247679650997367389863963084595330994467366005278953510077510623540518095062072959121477879266263385428792589775958630580646504484526239133538342627050430867009467036220406339767252991365187842306583966702262580562122210733541161850293635641616655779237766395860494693244550805903617986442755741294983021046969861644931370103702775084860153961665864512853545304815598296382985981545562592486591863288176301101499737206920153869877418621655782087885028970856782970192695827695239408257958934666666883918358815549069436830703532763207934945109365399450972042836730670351441963155288753214822189325967173707812714051334747386080963694563512019018439160557338408051663829148862479351379403713197966875856259482942074632416148196268288849800968875641317790265769105550802543228031258589984582872083257358894763134926062496271832200731813542439536437705648192953995700144554383910878449144193680471065163474031170374482458505185788180686628844170793566042698003163236349120302919753700996010666193896217318762267071826314852284417279433406818103101838417534997349697901352604608389864938417085293469279158345594247787414758186260672246624811772249856862298974404384392184024560360919123698959782488064463195555559308328167346023120406670072487747599806326845273202557015621687662840583268894930505193900504950495870154003485427760246248588466667342385974454567161141984303835706397426666703855560964523903570201073652328352769206772213666358574608076159948257589026155644286649673725692080468511746267024678766860322879651197857616442650025536622079972039998656146915511996591892609987569195721982755095064759786156264742355786450113897041993509976406676557120850295842115591494729075235534992741008512949193855962594032638202524988224921444475588270029003679518705235762764423558418333071204601246299399154841958135512551467709344714433092476373215011861279838185602557163141744264421039231841248615613047098148024733881256960519677269438321490104652409981501183394145060084222913194160995009964496196330766171680279966145964908485717408237805713129439661036877272697904349031896749323216657233190372154146103647188424635680197125709771242045599277189401630807555791531803886385226329349122868944587124407187398513109807299600005402969139086326671417923649756297192502128839909708484680439071763198298386258976031273818102754934261012824458351039724617260027124726441028393060367775439840384623746557117766042747940447110253227526070881915259623881035944912100259215675509990359849028736639465333622278560198785244807812000092267255630431187021878325473868804409188331048255150339506237035345911575694871584408122253546614612133683291417713871207911325632996961058630638814550382930706507642500409597837720091354284328731106694070419993253056831695331854406218096083461319779933817165917065487955211443993463691039132585349777380538014249409345036276165813689500309512610570841234456296013280703948714675890101664115170393932146989030266726605846735059647527480561780786795393551032684912986766565426312732988529192700824708774002213743115658696907606589908547798087756486559413089027045689772974195596550109221935693238497816225875176465524209255740925717695468860519010003160801289728987052861085422973909396815077500965971737146008611522092622608527082988364373624387798127745117082236808061077077413663347955743533547250663440979289899184082181502006262900581367815452848577595273359535974840872450053882741039998701952126233169862828034388497269141695862950362027229748868984900397414716167457511413346027344974235505878072186655258735064125308324573880356085157662659100847907204770453688975071997435665063066316758761134751644189050994953044117199851499167397662294269445166214080877491355367345306518299977582014657530815794081675035725631308268975276869491317516603141962741227162095782997451259507368949976478651309830445539167618793163664040969778731171580041226555288637091406258178846923903643987679438994419596332277331510624171111117589582042138226824715855862315936615312894321916548928211959762276658143596743190469318970709546254984802349550186923112936640292909966700863878400428904420862483661779064302063305933920322434365160794325702465868466897715343280772170987980118148551579281644492135430015252996137723601077292108595131459952461659422716415747632365702571880611706348762926273236008312525699654343218937450779674452915427894712722894704464813147441242211665900810057217233044387008737360533164683029287005557200190699431998706454465506242821727117124592068124294810550504047059241052883574006564845472456074875624763472596201955416308086991308656786967875539700812791176866919496838135150988085209582767929487854818158433903895764802898509257246086253006148886286503065719865793656157955982572991894328947716189620569354672805441856350184626344267485715560888443376776775181119587963168418536391233749766123771258705575367714255354528010236191288246608468567360849341333119579933540423335773588963780531839093444280492270352162230871494436067300423117979682863905171951575052097655902730996709989020051300226332647381845202399769112952460615572933669965418267875614644743693887290887894259922714756326206666732908094698629295343111076243281643273608630864133864864668368334034117417243361379086047880568004597543289332721406080344475032843441146117190967017625398428226686468388170610025364990074317384700086148176164319642146091993738188776548270699793984153938974909461030806089521056237233733955299064854565477711132351150583518723974869707635229334354972561003011215891267832849264645292657116115146530034496144130407078693714179233116662476964087635487399017477537102018211428142144824621320489013665523144244134042877529811835667348556593691796255853153675107980671452796637458994210311881547454807524651853170218249967058200928170347143305649061103029660077886218643958620309126219537459319155011169133155954733941172086135358840520458592736046321982702240715420614033109614862990759081033133065914757495394365387018430653038342790401430598298810968662879396068421340105866813687700862550410669655362243076097486920666744068427555947082594037595454393281264615197860109409221003946623938100024885780821530539641236263035680445023302479433432134418808431469281618392368201869189398393330782579391518765988615852658830313054820647419923861166216919045975656253336318446768950752992586777308978113220554526893234119637741580704297917296184933765166937562151464881384172662171532362271080278418137745960978655724521653492678760880091880707514451795591893207464840761990517355858488913303280635078797052313167676931577373187959490721237263799259715349422416504918609591639298051537541530560108354141244266350884117088954264409770274228232128737818584813773935509749335551140624466436894204535523793022955699025688892472476482856987927771770439584369247240062220941325554943292326806265100656067112487799788039988221458634529591716662481653228741155327526411248966562365362717905170820153100267353958824702235281639972401534641220320257977808273135512050193684281552081855499751491511016991412711608445400907620830051416461882552963462036087371679019058251894683895404682662971748668008393029512607766929924069435225777438631812759679506943700156062505627855914341512413394030327712953253107118617480257722349489292521980974308952122314619576662075923556359726690767986661233291059527961018343106907702032228716252083611956494811752997132749730597835528521285785478442861816852571073997916448507379463019479486010937938364054003035089249948913801089313227030643660409213615225175033647591255299336234508746206252211615213453346405907315273240795593956003274879097386942606636143145093479579364252820760576736682245561277978857985090507465575999523325768019785164732223573444661249477999064293351032029241706181476957105077280191727166542272028024548065568292656244457107484434380924735583240595727928137009317949584280200678166703023483010740547421926860540197880276706177331169854901005325265807003919332218325517622195004956023295431880724870989224933073759045534887851895773428251250967651971856799652910171995101746478143027813335716956422319340757137678346086967122438121730798969383121704204911241451586221205738198926028132533616506332709612681127354457645034386271837391993894379695856116712668383393759855826461542797813317912057829123789989227627725615951258427540001446320445791065468667324140533658619184280422625821688273710321538212290016053895557458048149707951428828742756657075814826054824202210612037688341073437044616953135658473158464995233288974086138926037436545571031357309787030515797674186488333083334683061776199649533323434059168678388645247041275531439579402788421613759684918282328600669289116050761181598098057229676116423560905478275530999022836011825568757238788125858293421121206435351362342333545480003763735392284413374664475464899727153248706234324739394940743678490417272542657426758951827960203343622606184340654829291096947327758106315005802505689492133983705710619553810369925100616045006231958956852776338414533870921568787580321274603112849248871469759238966121654100784516651875999266072990204583456279634204397156524456500393326975841615274186890528103396227728680145702700318962787707751372895137492853891601345118147909121245542835114507476620614502078740552719831064913195084319393794051393560862448712063282330972563106568067159358712039921409666332251191044508321653543621993777585843281227230971764972700282533520236033469451608228728472752281846877737507229883391318768369026382449348885643460614702141015933553708337592611935438143753258368050686926516021319638590042494502607779328982929749310257474851915475821236842755637397781015150277718846739673439741825642715865300921367338800791231126616041891722846890638267871722469773414700303377094862942467836229172179125739785889572304938003585912363996896312161385831046483707963766267992976156682119846593415593391674446886200355689651840618965020995787949475034213451064682941891357624099495577188337647484493614890337338736408448766512857990600569180355802175743282237209829640541398491768614254113578019232843223566220125337569971038210371450536113521580875443258875177314981234159790077484154852468747186982843716427756796612188225898363586461233727087316163958782993815527341580288062228960322744791973151341958948838419529290567529135828470288997290468242178115881254450027577348975661069369938306002844248830408556897564911615693828782862045901715920661835559705573502183092691196050687113637921989163882647003032398559982585297372067596850212232594796092137013315436900473475800526697316366280876754686843154412005445181096396331779963270733270078424261594328719836710018530522110004993585898093472727826132452225547446633652346902607995201882984865792935643341058619206357658021349497123815423332633081824963302038636180607430078936284804945727476555968976904796307725843589609723556268852771769509575485467415631893654443452682522268733165858336717410453518601689739003705114038721607492565728669414463434281934220107879944479315289080704416783720859140380787192020468714895404296577827423277263006754826839257204742895691916760052052321538211408873240679725588369972297703978174778655445133936952804673097919875464405405015355984214901764939708993368236817978618263713774776189924213964754681521802356570084650624621258009338239375893985352553247370307268761318693261257733337290274919695015084048179987728373665255064027193614777325988089081494639422730754621137974252544785730656206162327584566336871604105456555821963228444258001613092292561169521705856174292971169937298798552686573679816223076859491733218637615077351715337805336399472531737904670385755272237382781358856453237660838981202294975179584990141689663452187860835838411893138472832576864873474621953538997800875424150586749780156015931136540552070950803525500481212312377181521072980032310175918378625405659625399485447107620238523408341501421890183896302766908646062889973158305000605416610521126183324563088749423761321117383235991026715443333980903010767519215606860915099297579489847091340484776037253316486633273997745741707870588584989036478250500607565276677666730181427983462997863115472471904638130827026950271552434583777132888840113322856123276424758054914145334004307351368200167103048967407913220417329365588638081990240250424758979906199739449424061393859002043745081712616036278391241147268209085690526837422506891099193767722077768737126770152907129682261584375714966534629615403528980698498199023815881324900728284203166454586451867787181771772779283212526968322976641245496739715278796804347658957612653385245739151343813784500518738591532963414053689484439722550801196079269028116229367043437115837195386577860034194671309665344253552356135039263743335590248778009316758556650202614245175520231051803797924160186816532721349074474187926304637935701957254656870769649025628311394908306598139258771657534329051829883074422093153945626718913650932778527585614188691505843112818062116453383461456499861027990887831599923320834970349900964482897361997260841303050161383437573503350269679199100394576485031398899804053476207979951035562800942711980771413862537468942006711292903794021105099312881767863557121288220584525902329882784488972855767643376551320983720845365197273566294540752078683774825993769508547458537785440151866870321270325108378857553525327422467456165530175294697049286034935237663193775815312691121571250545649366284046131575493234361611438689415519179552116040327941387040597365968287723555493695367249260335274498928882204488684436527515895468955885890718317292891292345774428441927250527684755038702706328297997585388259938790678996367663472636799709113700050045191515070502085744705320311342837530396450683734947465152543161640695883965696047762481007698125762324027656324714558678116653563357384133203756328577111457947736117758910978449597487134549945405008974943123702669160022779621516016443144632155674657986969134302091737537932953736310293482594184851531345770064943739097642085895731774231457672882967906750299223152573286983302634123352631634902064904297082100632648815676763242544468703921333767894896001251362652354725651702225595569986284251088668968471078726001673324221562512429272130805593262213072140936864354996898787430352676884922123183449241907637471574744625215974576466357242752795222891504064277678656611519193319181783056716465304813810106667342459156864174457688390624192018654102252669706153890999072549984285484195668192454519747093061422753151298445309182757715136118167303580932146032258472352811825504706062154262243245514468964572693823166555250959895041093425374308599979713700425885834030449726710962996976323360777674373479878835673010286471384545928791637490145406647519394899352212362474366131747830486884631516036592243576762762344666539589796468790552923902702010757218919138214831626852490495848675432931241826413466272282093653277283976675572672897319381293419430572396207232920071863867466703063646013311111642546802512289430533112509853860120123607044969978521095859875329303277162267982305510767692680002207418849030165005038534475971018301673782681943612416569639252294741035743185176583656034123276433900956511863260791733899126277207213516175222255241829612433962825182328696862544411862381233064034533155601640695747232038365145663557498734411685994161655182496042597983926781613148318090253450716466644267026276118597649132476829527278057032238343515063672177066376374024903046590962859602719797255378001418201998101813981259504234866248344043921136487236662920206393962884531448374890102608403614840731200674156229159669636694083603264334149637120985454752501773669601971461784645155559941672637397085864959877953242158328218410939164052835679070686421078034660757197989148155400542005107300962796234727249970112217781656798449194332226334150338567530824467734104550327428561157455387421400071928430177447314230098365760751551277796281014722053066817420350596794105098046656313637782517247091409925552471036812670513824675211720052849429521974886284898527787835621060048781271144063499088164592445189801044293570832904722016072696604619842607722478310717143909349289737950750564710538029161874918869946353013572935018732066873115017315310912967948625497958151216822075712318919091383383534471023659794480804712338827444035053467999529133546094139272844651391190836076226579839815642463829159990441628452768189353279135674740322735150689098775472181557499848834669462227119434351395727560933187767215742857830330183042225170496329716122968367527489832947231506974978874140021926700672065677292131084935729407635928956182812900110978472432830384651974375857368591230981783603031405282300813026631330413992533992179415764798534708178636113772001408570838639437703529183497403741835116223700401731882693932630875054875664529093265665030243944536227279170800381578513252902365105680962589179424001638714961212169469925442398674726206005713115387838833883078016537883877521159311944935956949179394057884886062395944418497289287230849557926072113297712137238869698636023682916222546471088062109447913239901540667816028934694282155062721260541798291781738248919973382953016826679061778013533650471886339784273533585623279185357977922662703802445696829686254911874868530549785796598918486218623748556393532156304899283486556154154064951221046610376548180602506765491340332738629416911776263813834785118364105699966094920204489502629446168466855106066242088314537401268779478139859577769903987707399417032565319355613000528143599456061261608322358990324895659567527576985324574403560761288607968185761977178876556198523752744722359927202060238916718790814708867068302793989768378023337579683748471679204205611884614435084238369737859482588497825952141431676898495921319389412875069596149193271147035874533660814943754697142919529031019389435637183593749148307423044934029596281116652389958110600093862221622655252976610650745271358949733447407281673926348622262971347155532936244457994650823197908769074458525370345709007744081534167863870148099674124003837808523427397788174691080535330509119443313873040838043067506030686269532124522901667503856318585859317437769494157410810572749444384001399152295292401680667458424696605569107697596987310950784518251857689800093942863712191016698078851710571144669507031273706962004730035675368235205815249186823908397408809264852704581680063915340134937352547150923527044161926572110042345848085322398093081970121586417329130532589871715885516842060650340556996859371591562193954595558557009347711681179835995842798195564356365309389050941964641889243417661217711754573714429402729377177659183107443058151531596094826350633655723861413920813075414610740512741348138890687520896517547286443489020150187201836613841728079882729582018977486126338360371109414086804414638189975514419051152014024187628978688233866528874956474011072459905537992175155647819809184955876752778280803822629818043941563979561725694090929518577447883651594478720682678596369454763706238206696202396620665921081278183219127468081453031421779867353368489380826681896912999835199422321272638771597576428521321515883717146485428812423122468402839056157796819989785562510271070628379399431907357979753622873719947845210383168668521420822019266723155810117372442375609151489386343666526579426037168289281580693159057152379480256619126870887647506950850111370257880233381801903021002975975592681821635953507064188571900594974446797417420252130947246191950277213237247025702961631681464762184643644651799535877759048091724695567396794553734971032219369455962778937791938340697253788415502062958387483096195420461546990222684347461767711319737486600087935443607302433663280865368473350668707408900184703067698214753133731542862215155131814095414979724670676343697696458309286795212019941406654043266683440819686918622917654410364920807857292423388755061809836591222653797288411120130691018576030498329532694214188425942866214695276880632082571964867134224698526419419022236241186339130284171844724822755723379969707482002437580371792180734202080536935740618765664169607739120909813494702120725197213699642344209305478465069237446490420888732630226156357919606309236991602782364930003449747123779455951240858239709946570275366759813304777505050536634574715516558372773100785781787153031613276848925357607846211478860351804029765696058486717567636659308748016099927950787178913104203849478943286084797051504283326524571886423198399932856342268607883443745309272893146092544299060787111736766959849633062177514884899337787867859785265280570548661217379213552124702395325608190678852803832422968075544717437748950143023150146961225494895338362756944869304674198022922555065087429772758076095106879827109193837142290968268728596321942836727242477443909060036804852784543854819955828743344189095523099265929588482897771967505439205771668938552397736092582090693430578986742357295312051485090384652493140068996173731735816222294455416149357871477506270376192498036384400160913611713729557661808926386467940279365670385305779912988573944783757639092679443336505496770742285963808721870399582714758000440222404214003303590360960548004718847304678286807740989832225262453168032034084435109374319499380299081241792110895423927096542582195848586679924115788447815219557498322258335674226798960098032009354865108549467676713405310343499864349758000215286835835721365978208435732604661260570464409200520643748808684041999585408697477316017505390253064903620449458476440882040053860571525182217793518019414711660086532948281060021915944692783460379829268818677784883782713148160668128480874790430234200377130896464781785599461837510620688441358628450630346441913942893762354742777586769014678228907006092683252250324639953337566728997660254246597951963260902742615157481865278192977983681101331339651625793318419407026964988951386923961261275369592060229690087420834720840833188415826838019383358973224335136412244321174979404766824167809635203566415433254150964501977910541460943749815990445792838028880133562481814072611423275972894824141887025957454934254722746989976877162316099322885042028070838100814091887352633318358420740748446573397838429805347106002374219987211762683334909209073865337959074928089283030107207550472450851183334676304759820661789998004462744803370196555021320441396423674506953708781697379969379061637848201169796270721270358480479488580658308963231288673402963848241128765952185362411256969749199057478280326299861231724793050323637705845698785774531610386670675558440682408910511818429025803298514096157331538756311438547792152983663838215871358824082012778384097362326475844352630281664756079993221483927156321249990837098930946329559859928728433521252427433494379023824949445785164936127032642339094544808620028353526261752981835525297880465028135399112847161281153414460389703165467739525876538384445746110351561641809273346254142217903310714720310599294953895958436885773489495225982103831596420623273071483716691798967444541841890372511272835300592982739374737571099277652356370360647348724784839684203742309758998874387876542841593565973588345060936129924492587467691542804598132815825872999110300780631592481722052213206010771492336601003182710066727266488949550942336897935481055796423771544954137177407995177501466695465574100801557934179598301318715461713838220333287263136997808093756281698575352925390236568114358655398284283241700051641990051764383512005756933430421802931523685411424059868057389737717209032816486238395498050084360235358582554618855942442612928921434147898267094176760452225134929872997435333820627622406331004883774527381188722581819982219428293676666000040379914870018568674554412319573518712379305995148215954867701054047820258539083335640618262225208028648666809763156107137641890902360603954124553570380667535676524726680367517673845564696693596022634258001555720896238403647713214296692193472420798729629861675796746082959712748570679034670391578658581112738257432519039782995445767430575299283028634186242545022496241979163982734904359411395898404348957578332464822165249725331811930555856140503105076548589915525542652886287528895545773678742029770378468475636642494767084854307354132840361634913471074468329858980951110201242544884643071227174886586964367223751257407663807577968593851823215803790138851324567042252785387661013519568286523394604020035673386025205513475307900746894526143616381246602094339688182998572534654355285404636104131214993769216302614831518234694209627911549417194660720665528440044356575326641438934277220905575184236912080347379886707969228398693750888161460738382464200081539367400188625730736953499730836725281014943043645634975213545319519500350764823703618453849756361633974429430988638719898808188086747495831760222984672501959183717870015464719437744024587964419343305273778617450245249707149907000518726929283458717863091748438785506397547781397976147102974805258930692216662225235373449011353986266028141926476293709768013187204140666876255459542229249384946271177550175862021378876760029805157411237809551927818159082066363654035686833244556620095160463375225688255854582920019306381533873656517945743702588756264732107732276466231522699379582538162507411935992575434703207518963927929216230912990259044551217209318966179934694954150218683377015220759113008886890238579915282639867824654608874627852622681424733188588572416651261959000329224404728408961960264923773072793032869835071995091733622206904266211379357378789633982192711117924375186838175762134729227304841109052893127397566546440159910892056359539550622684903481778340163888074775859106047358664560729940094200063120435623081164981455149655513005854611735524052167155666041333475875987920445592175677563283767227690115416492112246422360395403368455011342654247448989545996792036442429665248273506879964950157404621482511116740163812882370549267667972800574632906194561799730944487237467063062834619376926372843710250629430239838747180411277944515182108640001558475791284640128739950977629770826226345882505207818345760505308157127681646160126745615131039107176973845578732241330030005534719511669012581135208015630373046908093097927353658564913574711350904412759076490299193882008262173939592861233365729706646410270587838551318934657962685933047956026011545035967710140057993336889004022075384825139930863716343366007923712406457617650036410612205435688688177406253057006023018982911091534071177517124423703643637158902201162317102635650130243991215404270127303916604348528921717678005443537960268144769874794055715993778356399662100669274192714681089620407361116347202589862464744081961204033687520897010880633542844369252180174251211967856991105833494499916830944946984707806367546667767825383723040528489291173054802989310613282285243013974421278401082297992256374991861619095395092292352403872656334962447446903480575135659465046250309625011185996363024036541878244570740245894880605074168390715058032424183755862679604489403118420715618426638993005968351960880991550054081911609426156177996494555738936233509560216938453029407415354220170088505934108021537744168969765523900070011310946928000344435606360766131030272873892742266524989909815901237651570432773192185028448811193320110357105719444387121835232255486772644086673404544135367403990104641792881141327732957052332339987800916026700289290467003455063211355182259645456365580270462153147060321476780387345442039887757315364197294374658678276336231119864674608317162495938051631791016021743160036372135135506555681162767164832287962390037143316348095868924384711690483078965100591104965015992831438312018932525166768955897310518020709156128212794785768231503099654870137801420342350862188944511309174155201212503779765726305117588445579181661243191479349987937188974667677782724332922702482645480284999856755494526946870327503783940036651442685682081309020949057899622100814077366965566279789587599381603739294081898326023119790605145978038449412185507347234440464136333171482978197669866965514005181845419763310556350448849713422360339130058979717346782373472329230517388505004636025681998062728258112455591586015018439090409864180971710075461884773934911273571127107533095079036197946170873344664805241788806067731106455884142874312055368645075413123789205016418245598529170285529823491756815198174953565040453735880040973693100210161974099408857233681398906852305802152257830798584444988490026722154928888612925028852813527173780318207628086658198702133918612113360246187362649128598385704246054788599442082401809197362711751540474656341180486288643987511052601860076320866403208005880981246682872769158288851453555992972145134318817716645564502666336275157142261212702829023587031467862427302335998951338331069080367912289759223209005353398361052808487974347050510512429799469695877329008120707972879653583923242657673392144380470361706529595672993234416869309201866257158203504592227460113349178476867831063630236724355370932562694982307261863131091050164320612674246086791670377930940669607135447772041240171387152541478713374566022914274536828100929205588900795084837232678718659556212837654930431227464459773811156396674092749919903096783157044379273964166675109789264093117468241878846539287943914280719137228194506211199604942014167567514155226569328596939900541011164776752925649440428795835710036845090703458019087499993092734233237906647410746289811710104027788338214509831606137185058427903895394961345986945534332173388380442292218684824710117148515834710609975786976196816012437330230684469271055789326166001295993498597491718450334461056240840010952490311291513102073536606699142509744167108918044279263850255766220625664347056888812091343129654781619845396751548210810244160624449318587351214286010858155871519419397655261062478092540814247596466270191943785507186983496876926575171350176402003599383530178302781767102202449288655654620105595674157711590472858301654225614200548268513719162768982527266000770336835926768927117466145886443256295441705121686083735716597610278238848606701446329636821363730331746487176320142788006742493485684457268867825525550925006154697582885492108122224766822902775116822369502543987324561861209996738050145752145346770108025915298160421223116328760264578489208814442541782351787729463684916863787103355988029352879751316600965034502135008786148165275693425491575825447858789779004210159280113548097158154932538649021151389857756639270582004783308103193586172095928503098371977956384664987334554901336566062958993312667035425517958589534255685222167057206373166820932241554656528706208202685332600866580058396609069504970302254534936941843479918148540317521615318893601698982971238272732961881513540418704927348526265666408136486378871680299743419921840452670036155802038750040963721886553766105646252585967623112091455580614923744622486559052594146783412301336488120864513178145054641794164567238577509045217705499758332360916182468663731199597425637392431936836066334687888366489399770870992397517694293270431571634050583519899477212598612465956758031364020077933287978651130119476790122849334559372745446777306994245626020238875493090223357398303966428565992346239434307543557661485851861284466173143979975977684470929792773827647093562794945093757497580940229719554370143859221216058081004239743853304543467119143871226627091401261538446277366108865182715566402048997387185384279740871780398587857487216892636293407937055160183714050877149628160787383362335559788371360809666315218932287510522740371018412548297128568954164194927943850639454838617154528632987007434474646146503414460256193649389255719342320962385728409362207205517646982530400643228756038069773146999660101861018409083474528089280983391290914925830365117302996765473925151845027724484495376804763886401906348729677479902124856127316639984427361862308855173182399678817158183206309699648514729573723694647944254825014483727864303542669964431539815277168679844685777773176724214993063597651813595392768068710323045802519156036464184552722886148251459740929971994529105998334724104185420272085136054307357487622738407920016763466151090614719108133008769243989050542838285871745960020088457644825190313755480860179403410944189883726523194071831370537998352344375954898132153424084287482442809898880471971054529233998476551717751441096350331443841574283608079013413016396157944559087366278909144275984522976305439340866678264314016375717056188134506536372888736845773001897543538641536393817376290182296333049441891940659730575385121339862756462498470327918415111491211352501046851190089611707902188891880624882538422836411906558748088381207312323141344233353144433609656271921082476403927206088886262852588519928301333058905765272829571426194979164995894363177324749580959841491639960872405594058974095185184537010842391107823544795389772207975226175997379931801766025841678345852154531357858420969913069952099187860988612444010607411986374471530993510334286163756809485035927570474426589679566193382876884746673876270357798755596549401466289989209986971648540723033988839367611013303784045113078379970433116053326219954425770307103968439752796919730812802511262236007775400051308597498304645404951309704803426138354091344540564134101462193716056552804448400880453039649492973826865022745282299484577467343378675502800997560510091528866646587902625776895712418793158394872973887714835384248129311916831606013543029978483686352773120290302971077830277473895813465194275616066742843607020400238768610459207769656762678781970656061203397304722965481373446191321988589232186743912322415257741929078225709141401815695728457383362291885079486832949330533593193572091676364595581367992386963556749298651132482713946073162855012413231173726487739829651492342674132247288632846021041366966644267728104149594302767238763428606644807904842677191598564512608618704025727442774514307901736151561773151575005988399640141880497306997550669101292407530374958155784627683114837351610082642105686878635684085892011926825243703903525176669009238408264675261709260269710407047148153102057397997681579182981289235304146491987593615632212451682746172277968157330253255735223022968339827799416034826498569382639736059056232139294855074276485329426710589699458926421441196000845353331145040686537313195714843485415041517234706871596658893468794776160506525205325518877942762000677929174286295148036393715562492149219289945067840972054346001956298474409674862465363711302087381417548333816616561518511191134684732365538248531987858181814501053869413158042894105310850262582815712311114555123885490445347986700257077621741380291892762345238939140280529309686455602087074750296305685666872397749985911356208348594264702238540331396655512294052067722982107716988749068312321865667889253484373928939824303927063104601678559287530601787022213306811299142564872664971680328549439089540115982149377017032767620929876361529476102296386400390994665174286052716065117214013250959270559294839736129981798102567138533177106675033131782787325121501327837748650207033135506227558130481080029460517179886418646938301427222915794350397991778016490528277130295624570910278494445900502500126475623251401612039820325502752696951967074235168421191098209014734553452473851605450203448865261194845794673910324946017546065949133473564878481268188018707352591838083903679072721987136512691128737953771599527413426674052986058267277760841997469706419659029959562956055600022176378828180964658424294431160434101540324161837112411833413369086040738182186785929660060152609792043026905143222568143657469655420071610492607105516213629879300555912132665254334472375154831796125640786777424307070087662202918140655021360191663843859998861232751529035298703495321075289690611404016598021882803768053487149020830871917804775313608584141065967519604324017985891535324434233629910033903677261899140466810276148578721543032757524359320503117165170343024273760823271009896214950638496910029025774167136585044898207551353446944194185199121456681506843573075876541271316654235668122273722233387587767393622874603410636815651866493228134230424204001730539139580450340596804482575134055549046416335784381605886860227991791515677699184838574581978981362012970538786726606889518850722007442610297073712835694266977933820878091270526740228190344887810682804959591079430888100469561835872093432323304409697612377196896298211991687870983396113452620176959400345867383397823414732191382499749914065896773447434028358031537479848996761924969985182240176819305210022455108578603846905687663641289089751554366506561650619221818558606395256352043478945916167981232360574968374823438905559643350429275477260719321983082538071553885217730924299413144190263558021105357988665362641510146460711985598292895490755148136944093607176494262910340381718216143960417698528173282088210369061259770468314059876589814268531700310662742574082809102331168159759586548561781614606434476519302871734300921800100587395483454403762764601382427634053294655808884773746683625616908343097270069974817824245741942626077709798914229003500843321192397735909559457468156646947811010103696356946867890309337571102762086607087821065555377926088164133752939155961539106238153813148131766276032319888049792167796110491023883227506396471007696524744146098226259447672975844810138808410145215932988735385180730698100946012616786893086024378498607208280266924451098153916959736018213287944079223067584129848490365630343690870142583141989910541398522693075466950199902772011993438099809657194828591987672414559171595955750006024391473464999909496228073208901853177416621570733389283886391644137593974177979961906452774096579769282536534878288646972253655754525228031688471039269429944017744150565410839248185380972246265514689030002078212754945052791543698175496661875134783191865741255835539740773733416015611445281501716175117999639940611911008630470479571340953158279114969755061425259661879019404745287573343889299080029769877893086987339902732472293618765193297280946392158801058120917330356069608825523217970057600041590448817939229844535803797460712947076082006515168336564512412811294002079114608274243109520336002850578510317812969011196732086099490036742606578833236759989031746784188273762112822615043735782612823923583260235062150253881205038087610757792341102006638835964616931815750428606621212402530812757970025787253844905787402407677517611828280220570076803317314373322249720895322231769914830922918525246749051877165871928339145127222439107688038146764776825605199162428994666415868570033589710058172746117001313172720152645395750670172388733144385271949699753724585045185112124532376009243047239954398933276325847419966021261252980566184976823050412057268302788959012984790370101236347773267203908107116393032892689698589802760428530981257919573240805314535999506802816476376786162049908722050571792632644701380210327447578509598153769279437353995599069201108684572761587374741497813219922100979463616836883769800680193267246356331393619802284466029082574970887611612619391798898914147203605599369088389305805359369339114503166658376790682533810154946336850527021605286589896942257096353454924087953244983450152302310368334930834082351682915189641667157504762901953467655050454331891572657051498776384149079126728380317905379403906551343242579313304132494807608810469731249545345457856264329245753975443631106604365289403443842934131029921856386196903953622936190101639935285350105729932771839446878649027719241196947766796743216916617401837190656046390007652119611483507207555929101785378770569542074600725347546329875918008302027150297749789152839894533255407195166657532309264951394211425540451153778645696623468005001055766568622256559753200069485364386223037984856936822387490319549004916657833974366986091833919987237194725884528872540128464505663054723627109926427857024582922373042200103989251437607418119767998004961158488903136574404814727769349793351969079124128680495050177445358305674042673285789757264025168112914401728938893906007862203398066619650785808534824907943715105931869232064049673865635312813040791072222135766548218780519858530019883207194602635121427993700694070856559587246813655434167121600702677482923620401452985056021224418548337825955416419100110698441606111936134157284385573768224370273680210549049859651658297294455519182415160406551183970720272020846402043930729863001390554348608057272087118125877938449849043705292103749701001663998151949476294999864284937367525363175218833130871088807978839241770462788936077376914701380205788950494781158875639904502685755056174160558994625034600921021093521309476759343508224228736527388837423211347106010920493956173174885378022731466288416038867881534237539156003774078668328693984834808067071923600158571920292311134173510221745594119959835444561375619179631107040180474480380943839754826744551977505936659329500786951398347929873388781017794560817544738135591808299812498231500373506626543377645218316617295923566550503629887119356012041679383725200771593141903519272458016944939389396886129000119117055885151579807832197586364396223411559124784518708290402202070552688856767767572084330196215790085294712798233970767046678343101904313793909567418493179487559919905514096196893922557331938718224016540438942429761659128259606455657678962695006754576610574970349472098549641722192264151810279891105903306539154665967022021495454292522568011997322331862993012889772600548883051801907365617848724489615573216482574547538161434670840182571136375339420168400511442960030308232427627244024934395610559393307378279093954401080585108538114412665516154280952868117050960782891078997195299893421677946200201699898496514405533694909314415663747898278927807417117097798317152252276910176290637536782986869272805898815004823069790734921618995536707907033479375433604945307207964877016335038661247716798894046172089012433709581716007094122493621549649575492391338905213792848132560065407087219295204117451146578362108110624285418078166194941845801094848226063578640095318038055317525908824674419440837169751263837722218999035166081850378401036964191489110716279202497884078503577014056163478742264000063558174689957745981617176542473582133634390557463367004182631314361141816033296676296760016799420553340364035181666054990897216378910193314935297881620939541968206581906428364266241323705903925680464546366588202705763264918291587136360468736384505449748883936255634469025847997339724378268667920048942544022238694891720046655825732880233249943539810894646629386210678261585278995737113648254919496669990046514833047867362138961073979915734993372656791738205067948903357851703480156848711905733150307323648157543719277078267888498830184864653982118322884774599068233974621561258538266237228319698602520433786277355751555072010160597871217465069736999774885058236861823974059628238990617184581682396699394042340380271521493416458066506094255166330604931071671973308360331180912226728261653649177815454713336139513693578970790381291008172086749705669639627505283727439791628764864557681076979043877788536898437300360143129486649262310772749037059562142587514293266878284788078762847818624595678168662583026820364459788509829508925259441721135355859411423995153512414886100581148133714476205748937224169221906391313782811620178787608643888605065870832408698639465194511688837952774635359778005996422511881275601601791590224752139769106798632092833840600861021846713981186612051037717967858647158891191978082065110498720927329367444664555227833315561279846519883483619760801583131790674551241002086775238220655461455939748978692163232155531192906025885276633670028108500403677602024625577852652669770340069592157761564764259634743356471602185512767526489221675998015472591183530177901102148470226732507958525275484231626158929674912801498005754149289437240746443811161096891279255334866504394777647016689704662497021733473368079477321086193443422642160858013035024637111089416681026503673752140328243429336919373726378916898338751375557910265452952313728785719567272503523272501149088524011122123152239535668141756360827968894201993232452749115000568066190671007305621131256401829504993342817836112004413870830454117779908282985239103165217553221739083863377240702608516018650975472284511975391203976275960199053838294949822684160694237074685285118596668768797229864602757184502991246920648994694897748305050135197459222778942804945888936266175575585016684911380345406553384045092547795648368531413220672805295322177576799732975000077209030258510443246399340674510943312435873235986285879361322862400827815076560815539481580746263592719106228645291219548991273889934768984063069350153058083956513944024323250666224298765923968269410311308341511967555361378398542211792194114495619165388491859795707643267369745935938106687751104593905615875963496617956775816312907314395200211716241602363878096329901332470378593865529140518948540202174774349411807469378036532613139946208945557490603976970949550080264968790833922207730630331527199447948997819818289566397872623599650538450840226160712887069191795534834127291556345078392909554962176378094144760392676202991209797852610126161587127075355867886070133229374148009805349019787651172350139260320282831938137530461743861854870731522878960438016260215193217278125010153660955395939482662978500964721476963041420928560836755369714576744658251377926893003498187673095366561540940181812138145157189348521141376323974759124935970455118111351262638521822684142229057616723362217416385969594285558415266032581735696873478715282538546866170831715678979869207966857938520386732793631311097017509091536397157747854669238984188000859849849311591372836081341437393598408772681388157631645299040033170061435515871321048490860408630995545829324985126941508965889662019644103033569857578797191371874747941989023985576445427531759127821820679194009597944889802165519947491076702194965961007134306836058843980625029333392918050437874958457839559752191849939915665684207644401577026373497360798043894373233710357794629495956975286424169076671625974311702801304335272139209895910162931503144061676033044871310888930329252095324604243871580713741133334967521894678420435201200510171558881014072790337090139060829623257365434902251585715973438396432549682824253927771242235747636514746268630421600367373905728097415180263325364778806297783650316962478876630494658904139814536834964837676379724030131546539880841739693614258671793819140481431262211849010477107002065136340198655824595491518936088602077543374425879392350378338502501167727052720609919380261179501593818710043945478642611784251461725602723804763286997966113116147174598788554203789603048511936947192108774950855386289958503777799044798797681917449414290009803597502443144572163879873259333474843304573940812551247937720838298860465524871445206812031443287202182491713332412389413032203595572780514404956058136514098616007905100746445574326539394539164730244554090449359189950093007018061723337167982022317326195486552606537659624069393912796408926084161148803306464994054074645973148240396568634321593129943937077821600270955871259263938062653090637227159030214454082789035367016709815238983270423840016348101274986996593833187719507936973083569436728856506110250945352047041905954246820198982796106997322621366281673631229890562473777629237557610116540065593852372739150669064576794639205897165228649774345022841403508880830934461816836667371572514163826056268400920108841378388920760123000864027233105874037792368077723633760999633454914229514026340740695000357192016355410390524035290727326982389146458549806071219716833951774684572732705783001650434385226732890660418884113825083413613799619810169705273677247197959326117762234453981953204724407339455212937548499646212828779894759263556471124809844788635485768440400796454086534311784469866699631550715355346753318278942174905295408470023651559371913007076532061016462428460575445913627408024944264302474203872311368140350116491673880339796281288237086263147773710950925211669667728400056696523553312357273447122505849334210006543804671533515249182317846165102580881801644604999405884890852354086151838940436071934067129236726069448064599978077724922090290386244074458697014205902219888068460965151709482306000964657014364407668066372796875694071351567827990649079063277209044524503248575792807082252032623968335485158606931459783852836169456336186314956895751252054275834084337654387735755811332332244587416913044623332885304034168185327650796295332567196803046626222693929242338176147406217694381301816446836250602887868826388486228440768649870505438229258065848704040355625732567495201114319375477540770919620795371814882506166306925483188887162368525155484810807574535347566506910899890257900674711653610446354848625845329601116605524812366581334844340230338387669473085311468229529009285203397072972478459503263973047096928772755667410787921270676969147191629646778484264375541857569851081658718271514749550361565003713207380545212738607371349328329950679483810466721696131667455649838641066553851957114779798978040531315313046953559560125012230730135122823590308974131531872460657676506927312075405356228053969566709404554331001699200934016030151096700708703308962865869548111711644722242956459262470228438373631682761826381454527381901157150895220166955589525546220679207427677769230811522647511068244339134165002524040693302585989456339270364194407539781200821821358504554735215748043870509653774461478113468716565558883519727921318504550683553943076050369009362962387836408667012944398938544441878508815883750876290001144469012888129558556775237521659868493432422064333126591574887295399533862251753806821534505112447440946911045116323995851505755123125829401236747715157902678546634378329976843751816713246639546430207887683845141331311200438362720947289667797439488890340393339347714916556098784406261235812235129549256259585831916362448449112395365765871050788073967088109766912105133672021088490924983481410808514719793119832560149134071181692653771766948863256773850811309929392427973112696774583490608959014679711219754532868794910038496940607005645672377105349189064450652802955744757018578593533302534373141442053035818947250256597419922390085503338479296623707672334636290375995008754307502579639741502039884959037585768291001734410030163901748485633064220117520177885798427457959125026072781470357311880310825407223370561840398146430866701326413991073500244188772556351318020125185808148975409736973081487305408871737347442840919291643424402102449642639287357398240381058420037345869531070327979850229309466268069017927241787098062523829754926742717401093133908440060317715039883971756517156642506614086351975457345974732854603525770816379080538731580692280533069866107176170472318941722385413267567686410850693619772850880899912059322947870172365995791125474049023042173561164395489353844038661966783227383630991110052858370782496250614551882569385163576399303075590707409177917689600909421662686399459309871665187527628061216776559917910290609779887602911312938589553501801828282284251271767414232794377249083446842157094679010491342939738156593513336070619125183966348987890494708726441344580810241396525389714439089177752252411780220168874982430162373290165423895888029875750062831044553948727701249308315249497974712676481104179236903256497908621475914072338569985684899320722812683150370989919313076022276809177596019419663136065337542651454170789726564216949912776720193565187129742389742007742270600818331468689266029409808583955345298132643374294839713715782663489388817585285996432152468492022170504236438629715317037861202578285472396855010947264868652733936132705317091849608428679730630043616542134626766101017003598757979069986223205488026418532486292510961687965980769538976545361454574455400165223914248148929729381427906255885970122387283489024057385524642344391199345027206577171521049912790899211699242640970409416207231803949694168898542656153032807224682554245811114270095732327190155988537895755711619245963123390013892387272152786124203816814896467821416667587669182854585244394137306771464037343309404136447692935783257567547224604923772545306631226140550175638115999431970278836561469974535618662519921774758789668022046667762597743833899566039040362829861482702138619053606636684579151451491296624149189690080815398786558385378115703426603443048225501319786604767627111519141329606396129679567514855605359664271764873387754842166807326793446827374535661080150860574339919862152957878761118559244723527131690090072760229277857204073949284081028003889856654021555633375622291458982640581718488090352195923229845591916946392957967530091549871090141039887383479249362893105797115046206176901054689301366912564960764551910533627317915600645964827476548057231889471398410986013028648665616266629576250098178394457435203937949163186162324508410436164555398170233396828075408160676789235051027647052040995697148193078321599322556225791336901779370937542504178257657070596223970542412067164187424641557566178175183211009184626487177650911903345723077873178804849377654425394524714942409147933707351348787631457698510024967498296725718389578378464947863985440231214546407023160932103605559461954760831841078154975855244947322143893205233734975829477293697854244733192165853383175552249465848759397461203136817692491287900551784037075161061508632843344567384956658915034942405200789741383221214924671798085284634286820447027578369882865730447370179875498833918216443632043836027526113090044610037477990279490761245993811240516191996059651390077909634293583119034305624356715734095056163628748278205876154899881362284006319511195201780809674906704976589428203193245913242559617114164316694416180155240661886331173995068796437781553809722292974598686743643437724460225008217013149369918140245420915767683955013168181074034283041126865254986803264579323184502950977452013898055358194141019131984833867985554819940171661584883611814850491864675639177286330583746651251909951762786218221778373921604284381236585503598776831679887691766786403769600339672806404573452597520193285403903843278475185561475310226363733593846397999451197734568566544674283895819110350875024475420750117547265579343040641644816400018548961723573698765002091463124400680506656182113202933685956754722666466024686854200803926074056629829966228278866733064506550328841629388295625887554096946807070658121980508578924056678207301913200670603642168364916525631353776254830895948420536098722955582752459315009433419009078154671122572710798521222737556158326103023920531679278861411832982264597557653404542346104902957223958753311957961950228946050308356974031984824793750389739827953899206897189129627097026816017999488236851544102490634503793304638505980500689368850921596092493454617018696647022532619388193016821226484368777952396181368777350178398760142879720848366410773287642886925358714697839726188810338450333711815171148471575357282911137713631319778212024568460969777492196379684737496910945644214623527467527261285301800789573543032753550589002760724171082427797722732735900626663866696013522302560850972996315375782433792507162172074406333137963875171443926623811455393900438867851842471758753790306636660932688831931210323207235140907033605416575082209060337201668113885031468464451916950436558866152125950693828434458152870871228293140727555933699681210990351591016421256071107576563443063511705673167435289581947549521611425193110025890413452890075077583181812267074861693705113747405144794546197953017476006106793453483773940552135929988183465458679825875860431734040554601182336493553306359083224391666806121029285929309962757245031274894390964296332087307746715007773300833934315885963701244337695776945482607716097670861548166679423891035060904614604413039687136894886799835087804068064381621772406347917811916200629577770139937093439443217249722182319521253794132602753367456855860884410590851123027060655379689486119033343118293391087619618565414570968938743695706123428019773355738962407681631584433584877073360720706401263672416841255098300951381957688615124648660191044190004053873335671201528782626114531444001949050115641718014623553003346080217675891561479950371467332745815027281127211826466922555444131883985950933419623985945561184947674786532207149201414043587348389120710525816364490692039881387927289928539884606794699973386287843222510037432806665926419930608469361675677484717995553822497857465567250556748949309600038811165025990005993740173866604706262123885284817010946710138768352200253700490944667104755790008627486998607580100559897397752748532074183466193993789997610753993025114426156892048551972307840758227848383123586478168286347239705070337701551080372168639415071758912025235200309364453816100089088130502039169341159108232754929969978413544833229671875424182246552003796227904310697702416765482939497616404950028309838939426022430461690484355804747722403871786693491539288578630229892431436841730470301570109023060675037024472003326413487285601003219723656520159094929341482621229998231733207306487960120379727647315563630376092938373423468209183320342088037583199689240992749363529073564984723927517964835646038113180744527184622345859794497228431805274062500057844200483005238238751084855426648661840587880464120681035919898396098727131150641081845490455579927609435421840067176453548615105282475682962685981806029377282987924425294387085412073102529404983278917912774900315217552148825260347141601819538454176711806252183687581941540703676815615766181720477998692331464033613803346520401842615803902641825361857224684486061288736869992720274162680637666211206929034619695458113643447415987140189211660466226582661590542069763943593123662045528756034216500347360119434225614914032015794171185171542756396517256864538467095452483713059489858255974527756437837209390373760644875780538089666661399183963055434635153154818588677926291272536342628898525685446469814497461892414958636636719814006506858886086022426733798812768796940649702991545245272132575428195324917311506620858665207749095296510075340404922735654828295702569062935888169041465106971777242095544613025854381786304850806058990637380905430695026138424222705375354598590993266967332165151948172534532747333602744725852724539478578704905484758633115718366332359132347588259340641521039072871936326796375928473313161233978154985650774595742630192501361344218177865732684594980392574196969999876459824956709409559549064514319299753296990292901811334684918939731673374047376102153497902801317223379127998639147101057364580882496403779366914426022522432918220359694796522963241504625930376366432840865616023121610990271779794048244237437724217545327436903074926261725888065223326141060338165320932320266991087084758681985639904985750117619963690596992541043687532918190720041575982623454667270157369711333570414032093793451266060707990655868796161579984934109540903212436544310873161586375727374817450178665573793984866922911759920434224760064859760054978280629418739147496645660197689263616598289656557445804099142689094724970673522047011619153600945273632530666440201002320187322781976148686634898913273470144482032429311784100915283333037691119705125251189029708294297488398137149977805278164934370560432600535269810691898658868981610889926992043454781553574046529382255475792396512578169849867342182185312407343115296082141120919999406160101582191273730165017695811861903668977927569046785710181059393731438811929147494435652218962602863258663651901745365921218638768107774209158364690909165182739807531030664998062448492774756188452973294727139148997268407785897786865604872330575242285717247344366674181812327084159179147861681978003287524219464801193159379351523941740904190984125780990903889407794204672704915345000248604274553073068364722207589308219944523472145218428256209291437681438780213969363997860221263221098220773571441294126406537652642854348297069365511680672830614815535006779927342874671740836666020537292204848408702523012585717914569665795239635968627064590372072680587943981340066767014117658125223348104838686771740587973689615599621784654973073934095466043145860154049561577645616734472126427468746140830206387935980428496622472232550466095231768172458636261128483387407650758288956774589588736109519742072321262333556151933824717602181868389530067975021207690438838128356258145012500711902715651443462706481495059019699613904056079067372607241129244719947702838483531863329817619994731283314491596877750429032797703476193806295512384013842291003576769296985959054439828926666087801034405967055905207668370210159521951394544773118741072352794560844354946676079288268193567646665891613621404247856427926815625448506316685268327524656002747765241279427053419348280546267028159924539124873937558094012591977834653365573562593766808769975257460270216696492529983775381969384625470851886151047522647513648918833573818916971219583268100419576537702119211827256650889668246750486669965988504204119161533208988567238092601814281176234479558294288085813698860737275497491213068743742194301486676625969169519536885691174938231969755955794021793887372251515997140544728970839551036548666281965036848684661039274556841436359017774403875651208077145636487772844383315635724968367563148103943896809211928233741450761863056577773779414533302578207887933713552328193066778103474487881453302276711598246301467739131806469901714532318195729640171382993445866528104239029204404205030108503722889707226673204164075838352116255472935420977067186526207629467204363364327350566320411252128722589414997628046891485550759736146505117641257930283697453203604650615692381197213251056180613452134381768173276284141810216441341702491755843656811454797775195828066284424975037917477236204204245057363060911154840242699564336003530143666597511828032803953421054049191030567314210754130235793487723423907395938930043689132814854688219705348268064061334476035746590906564609800971717699575204375563545216850442243908278083480721568003121380513744755738663358066128982569525355723266307395195406369794691392739195092970992913488014867607271497851682702690507107678965765304404633626268887226274293120287517384975542143150499890745646121569554253570152014746265873588291544869367168210972638770366929876270333269267640511235659178773632477046116118752837864088038280136349041450851318295587380336571592375540437403660094312662493744735018369408835012318057025510894184693666883038062360436168998681815046281454399370843946723795281953032886060996315478054110539798317391048191798793376309918240071636953592567835866999085256828346179992044849215828682554266066694806590558837547674778900630307639773201191626441931231373328223641811934383050586585544982998689911466813117119421891601793736025759632185321048687499204734702994267871276133342376683428225657565015748972028034318032062448495723097390057150931453891843449438283973734515799805156259164322627014186206236944759302141050850281203604910993905368478056021662704636855257274132906042289956351025228475190703082532738499555533044957803309025927531635221809889882629115980337112570172176766904545680649223051574746891557171017567240354189350611288873024043144319869586521866760733038549036027746096354501952529653407030159703240985115025293058865671901125083284714968064894381300783718623924468179021621735691228872394802164846473775176818942122207103565559650797948449900827193552814791434040371387172081760903198856458746108109910593691774379471287936895032477418648580648196799561464367082487089936839513150720305653030078868598203607206699167376164147566542877193535910445211691676928163963645629783407370647882740618340543570774121613832028737879037858589327455361495644612550505547826687454455090886889469271859889494234495074838218501843413032362004668070019175045926284083850536431267686980340268115807098103458986041308417355099569441517991754323348063307326133913997978800038210913276601454961115704285802816067516233813538630524295638330950320192878164132492230047611795358249560591453000424644788062130246897865596926292576357402879940135692116755390400269966455602568297236950495909960271709738166616867800483272929905942810296816157469630606061010622671702125396674795138938137485389535175783294513642600693613777744000566993017402011366773178770446945060129226074969110615762076378933450413733651195600329078352359646532657474974352867211162980756758510838501606998969358671522596463057009139087628741649254170816909684730954886023329828880010165296280897698772319690742102700934888093445551218818833651978431853559606747635072216117872873563946565543427614068559412425912141707811630308010192587621993809895894305093968251827713033033492664885329561879526644631906349389649279747796305818237760658035402279669108180932267251426142876850855023403639597056214125151376204672244428979978554541319013720560029456706340382429917807512572448446357715258934722336845268000504905794076592611834046276469983532198933127117327105112938774627200813172632086712472478310369532505711668466933919993838341653013309247729429358470743882634240070132171320972827494796116356678261507156628250212520627638975156658513406045529010926112638166224236689927106490418862700144211287359239399825005658006432506075094589358500721807293223082461082581858746713340673344326805154756527611229009421546556183103412687017228654162269075744666374025785058198390337266853912834251138897761037015547059697842843812110416674964236193689840635613876227959545215146892881328239439636612945013878167659092925089753247166912368348275154607827280445182434537596550492568064853230999281451475345509275552779627941424557440525521882532395562508572117996353019567581177443676255097319751155651484513728542407490483808199558809151611793921910426190928485781613905148231474455310151615917841459994712239051659694410397272957411583397459390620500775807095967658989249614373434878156377442083749991461834513411785721356576510028821653437883890697229988629462268685195628832320570537894217895936784489997283808225129585737429565314870430403219543301647220458139790574528802074728588103114085879874721186328648984473405311460440048001118964742165719993115889037205900314664181261792091194088785006677801099918546190934892669185091189985328175801561496344252727420213230832626253782975374780849648620574737729805950490214555010896934806451097433300599798555320331318269175191591950065584884365516563352350794974414869955459346826667617498419319232391985849314290703397249074104335315507161857712844527045561514872082178790107580994599078190340768484559080348525612112446388323887760077256405950585761450617292910176342106201632276313357086984161133384335191595521993423910456556597310082316994799784563195983411430563705888413585723243945999371608451544322473332574743269029321113405536052609072416883753354361412870234237825270895382357658516596417328110042367022479426589489542002462779779309893450760213624171370310651327597596134899242700470471725333264227742623475663202251798424952498212765595113945681412700766231548515825735963353826717922669936333918066855094802896639701633580306357779206151292995868181602332782682875613869534898338580784048677565029162328102232126286237036471167259091116220744994447033715467171935579603406495721839913243157175868905635782011935622777763421623672475667687617220610152133894288442755463803914298293409706376846651169968454977492484216234549879019005901223071102488058804992082026734152133452619482271804045246592288442955419081544921458089045704939272983216883413429953682586746410836728468331328743219812300745130314440076835740244627809770130021421871235118844390781428645714867130316274381405338857603885294690507769112439640284427539211601124684855885908711120433136983355129831770447543952735118094562627365072134238675487816235096639875898907810584333722039754420498618992145343945700107669930233340450706235582283219793912107163390447845740649596837368359996102705598109343275457182265819162737640832649194463392541412570472789300121814099502881776632184985453085666790070376265770583827317495612091752324760127284885442229898679988266283950867894577143881580967550580114816329510134178454949532484743502461668260490860543498626070769522068457693088810199363886020569081016645051872181500574347274692400456628013524424290432379684768326499597859954187679609888240649742665229584406972977619146264897831510287400669792362033206040445354794419819989475253195717052085531617779164107727646139215711774029913555501516709796619652406222291416099722702986540871469079193291110174604012065208119033479335074093396733543810667764425162109106409782774039347240922697139986419324018336762578795166166921148570844034731109857718604143806570305811408965227990337070679277771732401960636690599023966006174759660274364772334171321125640695730430073871896976082625377840761689045650369641210172605511050631805878307177104571678917209315551005131262488507497125708827760818462973515666064138131857756923219422161698198183386159109111212964068347645414987489259676939155208899974348348251097717173347748490424157044765736574577528870313708739190721825057729931772042125966177890946278107374893967275333669497759775761401339096400599495991247742405822602276743479140436597750071174906872762693456375287627915386103348098692957428984900870413755216037594678764398436269591372899723772007314533667335269968366292608565705839038823593831189614763613317043665297644360749401649697173956600232484753127826135116274516934985914972842578011566354011257488383449578205475651348675253533930949298777856682473832247136341278156638245905023073398325360830038730248396399541840286629808766899600543606746374781759738593200109703840094329084825214860785580072030283926248148421073567689436508478291723943135377307833828620452560793714347989024775448000157389116577894911436600367935436393206776263021105215210135921546945449970588876283657933406061323911023381234789116513396064823273430276115853432570782259674566926399445065492819990540278815070629903621350504523173250136706243941061807667613786614145637857660442074924229269770349845012651492167176963310516767267848837295490056786572397844276311347324977198906007618759140896073066582151384491345615555711510845132159738291100111428738959946162393850583603232344208288145043391507378081863193720783803113641758373487519765079335205354261064839646800228318032347662678243897034382828567674099388012245584182825061658871841917739713484249557535536154283510624483282114107566096796995104825227942158706931518686822890659905445428976768340784284686635169507359290059446525171865184120454432711637452459124940510317749743271643304786104252035794032712103848084464363330137152901498842752377949834574799875281511965159434402988721491706555591849396373620235346368882181314372081349365898041885261814616685646389742839150595583703947123832173452734821361569612832630851650382152956508420824710834855636841528927797777756366598286215650221250746116759032116542096541470122942838545756721417389929799800524641816847334818021732521988211950351846705828084292711592599970153750974790079509303318805655801013980812298456546816187153857992812861037660068440830849839727976370041660306524614826604283117793289355874205593451881326476050299179833827163739598602358878513460926732319515887297292466770976350989467701402822922459093649319251931742859694152366564659951119254685886480010377793163073879444378711516343580868385509803616734117746795525054156963255517565930011098710343833359200752031771871321169429737366650481616228139743691943602197933189113714775792846048510574542832874817932872278710961589682604151910321603588677947479259298850999499049216484971385441255339167379832698374244874127454709620633713904740483607941575293633639044817954141117349362026048512012305360554368887938629144807879100525559893282527733543592470673999726922739927756533972566967152409677307351761299221420255506531429549087426170533585033317774602589152893788654307666139718694743502046969668750567663782500133665443412014978039533409484305880408087138695315898917544323055761484459929712872562076470023808833082557863754480673545385987638085847636506952673628098611990040267981130204610101944598035927435305744929624227377339552016915800533206697551301973113370391256119133054329794169919294829390557267957952817726968793291142577732050021476019969815220206152451794238984581852682797897974405416564805621008330286054730103160503201457405188876198453502969999264657956500190448278241738609540179103702546381436244525088702922663923366404351967800356654544364250362507952964892139065648414018273697145021452643164662100373809950418558874896308246574073342630025309949781559142128751970527100115710171637749883378795656865393442661195440774144399248742320604226615977147800654896433496235839622113531257289820135598481565702045748210917373786628025393070446554368897474906584779494095981224478743221866015300973454802469617267129477879519441513440173011883236744872044780623663700352425861765683808485736885690237092290882122272083417008979129256543541940782689930557315191699011807050189588596474048139046260970734195449422706775403353710296483606203275561731021591434684415539095659097465499279153763329473599602008980264079468292536127789832058536058561861189451406113222427128611166867250257033634886315857173971160328821238663749187456626042953189852087917692798532059687082732060772049087562497623985063918737880636107372115907573362989705665746883773515985230620783485667267399450197245706160417028656143126685079755716895080673861961335761307793385665294261178995576128220396278616303669765729274631760052262488130026201593446959933230130444390851414406961294909514351132404372818037803052701614745966697318233961655755091009447720112313016992708211043728483536465802279843531764876043952080736225958640787345819153105945582524031075377215743214571344778184309844749991891988572348815392190452015661719255542998753345400238110974852027005371147123897974701015854753862680281323170286201290386585144236448649286552358171372029388017529410102252028569118718607964501087652984253297163117441865075201876929274642106131317620308506790665882560616162451232983338560212251996132072858164070209062312718344848223007894040924391632745240874566781367355700397551427807392003435331321282287328689542061881883291418904239295829349293059481391941921015430324356744769924306848954952023954564550306504709712589530864100115696873272805753462888209289499803769427671523724690745276874941173761124890701919879296423247494837186391329220403340476272852904805702005887722635976788174715798214217641766434900548515322233513050200474266084260275811143081158773578536814136568366713391740316070565037908528432267821646435930151920709912343384447619748970136375189516849863063347124393571993453325119243402486722685096712244422809548620967064207146038923593401068440047536963864975135973583310937832600190925157443192037612293770890557454362847738453351375649811641233689229522888668519991591629961786720819183717347307006822812701860650275302983390146699957479446107026716111602787170650023445485265531804615279803013588943109664382224754397716230467646353180281996449375662371151160519787587083429214674980001529714109167257057969361548756157178235831117710135901253539556871274579972017592606546190059379608978461902722181450723587954842714991331503962030512411091650441966975582513218186178356942755406145597270535238267357110231808197208539486018220548268986636028695668183486685245446144084069521826332804876044469190082669676296454907545722369233274416649131955648643994588993387758700988054331863998554049323067761591828592874389605780464098420897405506832961139723922222697903646977678755173039666447415747265846547806596395648953581955700357971668912269469927151284486477227398117418148866331928994659470600892113189894296771965704861852768613423688150000417238002829767005277922765540848554333486168898497387186788618987323238004240096386406798435171625112697259246586787211070538015319495771649485062981579894694171428204216416558665990728619849384917548026958461964229477931498122383641538557038089789007613901032349717969632547196564912274558263541323414243643574594749297927856960776359148472801212182057123722912544332455660534074849518144676905895980695200349230012498661937621085005123644254782643573382132966096697316535354256247308090288177611337397206298364305054086194062218385024498547566872126006763397437315325783835487482440978097393361487310202390453380947415977664560313768110629892140901661232700390050502294761351885912410647065603129801460888994927862354781233707563735243212718006105308551717034053603307376301871136693532176984282601761121860063584896534143606709141997792464097211427449546989146355548286434011040147223008474005897193942555677557844039936570126377009233040177201570971402261897254902499639625668908485897750415713042927159289338014627628178042451243346115672917087218116986695871312610665581097155155569633481984422493772789984900169133406501392255837452536445871131537749642845154005364042185976909329790072008362962024673223965883741317529058662626944673521044260379193152110356061561327177958332423894101137830862454629514095817189416538188260985813625507028147207441010322838569770121266793214647280115968243771101640588292038122298228255056488502000903159908409669801425015995974256102202631836172557111491392144361101853384556828607031576644860576825091946215850695082849408530180664499120714286759898668841279064653948357153197916296821916428762691256721694722877436722690746310853419544061133608487163008322078153715481543546458370259485036167470707302758499672313280960162936123357408505167586704703228598724739808647326794039491393791308497363241413902943928457663835198421867634664301808689606921433831960422100947209843976665228225443683042220547014325651194268703971992934248063911831147159679288276590160658481161372294419943326376901682224343559260799088203400234350990585913929771576049472707702830957584270709136977043713575902026722712135534497330430506741037054407734595843092276937484039563820488592647043863621119935422550000256114497085052705009162892960498473983059770893141204198377018700063858078442617736127875809955159503846662074848157250182123540825433798202752568074574177955302589468194577646065374993269932888205395151847408514744363568210924250171052586349534579159028715221299536595915807697373406864938135614834686259397425293493723922991126095352789014741520946191693752339607918005888183785066885788221740893022376707892649055901783573302904986104756624088404630174420916460792765924033500521369750536665803340501312807124279897000627372915259070166674643724566787432560019555424209445336334393919567680459087133098344796212966325811637654664808900711247402815156434346310814453273397154323345449268619307448373532903424290227063234450908155379512377571610492712179818535358509941553871821944942708611496926208222831105450526017646944214984796916249383350864389979794372572585034947332112364201564544595832321025867338212082720110236171813291628134769361336231630005551854169945123703087471769347530638094914882823181146014847359176501968305714704713971680541712076085415277906148408154352770547111386619355191825554967376875375655901891589207674352614885293763210787312387572064840823737530328846402348829287586745751741196425955473254712998878441337697174478289514806062975015981041096517924873725424158606070926343451122180515157680503952320798390703844559080248976751242811186831122353594495362332805156428450911638253284682769037798940560973049659821677479429060522906427115409075963049075004578669480644240791416042498973639622383553426568824892490309401353227598292267618021399446801899603206758034293979479500581123563398697279023670197762898407331986142970899455340903726057682234474886920102976488719461875862934213170932727776916518710024989966658550838113356789617481139240080692044146256653829452233915516045948248702775240265603080241608406335831049915931308539474269073234720884119182024847075732911507212454468985268553115998511179393810802097734738174933999888973856536994038759525336217482394715478348005894603936659188928996217521047163046603844441237345091038293248389456001298364934173204224321656427582862696462987054943708647463427711852938248043935821601986070062171196591832591807574493655660319057421033069753707322301404429391360729974231482186205712797240843229742225306478470222877289889172044541364168301862059266947810650015772730346839982955110599642751983442090994298239413615583265388406852983750196100267432796083226766089824373992304583819359944552036471095908251899166291593196398638609984425245591944423740980765055611750578961464359199255642675963119627783751287465379652386652568169570032696428785072018471660573792272520952321099076112702419491396280748169651494320431930648996967523523778013360171535579415272267440438354774783461541713610807197104730886023745031213890081325624317204976886802282925502433493959917827467695941155443098503616431316394425732596746141758066342449250604023220280294698737518293127065541377829886195848109350266364520750931961525082015023951281069618830208378779175314247378006661366107125561380956875490976302248182547336957774425013633346505272962419515030700162982343399091000615550249467371288432197235339945293806722341962170161634329247937574459146657715626682851107920980138236027790852490861406132382047029603361421239678916949923423217152888329799391129466525384726864053187319793226777027601787151571127131902216836416945329045195204615033553473446978714152244708770708456141208314980110666716520746555367187872873746904987162762468053085758352280419199560732766591756957730028792070628730635622829071093172254124410289965621943930339359793127298249018850599820753028058182687345362620769884288389289635517726997755270892807119838327126416498135850566092974668194143322037636016031702386454010380419337568874559351238398276056529937969463111573623676580351575643680207979098069735892895033363102750947847813570006470316765317984374893859319928446797050501465842227782696067591977743142284898346229638095752245329234359223513044120345909610127448589140505827476775911036197187481126259602724586676557147275493941205551336228916904263820835739952061572394645174449899129702110657095944985564756710539101364046559061659117790624364595739346071857771170611184517001545450809988500405931558750951206165545631462007387394433274391565408222265516671149813613507373995489339174808637419664809327817100263955025914047775193472052693611721552919289489112851231256310527709723493867708930988562479735893275980846342321851624985305036273164555086002448011287948708902187528734539294131614662088148268086141620159155491220419860259848860991001008935521986004274340573101214273402947594356726977628542777276759795406783215499987080260583813286902818386210006100337642379198001944237044206333199893214651697433457699128223182611409070898614415408199147374743368164498243252660816669669733619695332127776912977263579843015097108158562779524101403121972539950098548370069915726381749334231984170867848596330912936697738356288707840800239223578231036122923133431387087137560726479553068785676787614086797853884183975085046835092841447196834356692453914539697267038657031729624183897923545368707062910535840958625288172928169247104639591376543397751033038618690541627854067967188564523146253468346430020306636243007728041839150504839977463906523527004766822033701569158523770139905412638347648466384117910763416394509626576134524834091389875379348887108440822515024794471987688839920035737926073657685493015534302684384838893140272196682038727684904065078641498395483862399144327100354841428571466367581410868575684974964249205885698437459468657448018493422802795823563775643882682326241877622162260709045198459326773477350182854360693935241658960117450737611406406895988292994464538186860664747288899190982296017892978047357912479632186915368703655952944433499542516058090830492735940881012512804591065050476649626758222413393315802709420923435482413754573059087156567567670109209505467111783773210475976697943635702499917247764099099618422342259389668469915441887720946530070344371831157287057320673987595782140794073633423608496383233359179022771268263032769487753200468018475770539434300795119666775243961591663082780839590538322951127233820755074415307889777628677166251881091187535197330098637717478618815476411602223903031955967898153733333258298360045188973413138579600929777458806142401045915014782067973943636291993558227602367510347827556486627121882555285317825358601035108225814502611204747092401718602564690068461731767990573490110072728768926194527588335875822194738432083457863305280755745493828952390059845682729141346432348817148584606783059482601453596876215967081249553230576378156493445652578255229382496265751170749498866876544103827053374089892104036867736560454285845169503140223236337570264179657785208175448924655709924081323665578698526453538880111889193286251925922213556676815576092763061557593066264739260898327834768021460555713159391575134197362381437944978888581196334372829232196632033578012611307701085721598982028012452701419440551082110912628261670708062742710620807375623747391179018806303915191898251718666137575727597103898114628132094118243212011578288178755591908312841658981012959939724582828850347090530282922251789724313294878973743215073413895319923645094033008944417799497855061146956152948565531122294623526306051560149924641646941653581717906597534647747475189449033886376945491013384753795701243435328321449298275732064946005703587974137284730855685002414057806994944420965645454206704067126917703420558935459214751399465865637953244989394807296345359598977325035224253669755202625966190223911374464701515637749468173440379453288595394926777638755908647972478088680068172355853131435632975431766043925383854057568997429850951712778248854066092032655982812701957135642813925406613098387251913882874323038507006601992157068887156531369864586671792836573552565862718814401443171436793748105969137093212168062424716237296617153934399533680541456986793897178488910159860309541293529874616910919252380974294455148855831849949859479590242636642554865556331493468935615034148837488463129465300565980746769773601945598152863062761262676635577359767581138421612373314597087298604713841740124888891879713327363626251131133467653762929984089037789520000853939976358474428197985767807210489634599077801542669717456754261723840220327733647639755175491665338447273368535249669156297692483436265047461988233594559385423887390136417704694539579811875271215977684425117995807169454668617498200389141367574252951992353630286409958477380806675941697155808335426239966791371918119745650950142157414450246559428230866854834547550417532809049243969757733834069200365962698238063210584211683115360806396000302983486986250141895196159770985309893415906918264474621242983607543464462434641837589126993823538014384957364332358908803400365035629450989571731821193875360604033750257331182525704669344702757566572460202434358051761798043050015766122068591071191644783678775528755576514955386462900314778433524201822322818628898360499556710094713073625117504656828874933451108004370570085720732275083196736841092108726460308626987012176044090402806979491118396436605218431492307351631588904445480567978322555962857732503063907386237033313393794864907355954685179650429666182553105264598245173537563250283739435510180592720530901051429092433527312786900151513055874053955359526490302813127589266878502683802775398087841969542444707598265277147636801344512270464696586160140500059813554266004555304125645385648993160312805596469709727717647751362379318695356428514304456301276104282649403679748029330190134439986092840586881002688832877860690700575222916378845954295112712364162904172492592870335181217772457206347444140710457987011683486538940860879346428858140532372205220333882782491606550751428498895026730473386894146657715191706700715462849334130545953261782576247455778605289070556812093921363602079484001904534822717501991998503517218198291555373940524474881608401142868298542198154173994615194467566539911086257026617289157211616708612807864422596878065405524084076980926229798908974388648718812412152858621071441713146827394151245402315271846416021045875096948375943180736202192937400119027475027176567343594247367066180398677673056064018589905357512300230660837087116869147579133638408623253843492671860661390466843378796516790070950960770044545355631362405135816161738439970087207800572797374766973300019518157166514482156340621818656955569523059973209613527960436084916464544009853402960861674533438096899823943693824949550947169541670641283942451714126019162473827086697693118069609710155725814785319462574614535039762605546512543502145241434329824924138121771320340323718671520627359281633744103154710463963111770834535015448259457608665977571739145766095877536672498405172457008259582124548521961643789313109882481700384223320632885004325420849215944237347069301246933339188876395624142540683244296139656862403164128403058782564652342818336566518958550369909432595309425060808246841425531437037390665109896765398087358749937703345895301949519517021752264520732036027546394131137116116222899004570802847540361406381477089041361896398146793609058294820541858067653745684521520114145135847400424917141834979108526755786923646084051029640568547162911479605166051298601164218923584706774478369791634369220302198889638490152417264835108736731345839534421502246261553366336148347864323356138053007496676208428757530744847676122129520464026842561574021989849634090361092184760431288829692663808182477416243214918051745760516527671485956723605854481485440213290753231193378970542137669259894146244375806251615321799734696371796455473353549249001405607436631064741766799857256986302528399444346379930518242598412579835864959062789069536518549591816028252311296488624546624741498780234896199049347281966658307147577253201586835547077836728257562399243554639377454477973382960292239539101363924842457990895204656398045121789111868368461117367495659523732158831922247696642959496940073685050284037768906265808500246717295897639915288552871279469207921220672013205280939645226322708682212314758006603178586184106934504552579097773956618012334187417941362215786050078339034591252524540485754363277089363734813762506583880204845701532917287753658510284304303738094645827944631703476961344868288054938747420783607209181966956077978078659557407096044302978609309079720730749607010815586850159480975343530527293411617148317473396610051752170023014799010869034522977048775984057286298941810215296900745556597243348361850377715055086033011150531761641696187723661381272278710986517345203857378730216612722258062394563423895118271063899938281939468089089171426867874887032369742369825435588883246084582028402348362623588364349326648017559046034282151721956396349530430084841662178271514494595409011794488525950494726556911945792036793654037611386749376191352883897654886121318115303047160619686704364428843498822552331296875029163545865426866088946046929370596495128448974048567800358527040399356260489828221525557199699352579454526174074327085989113001429067140022594327469021898299517955344274871811164211742934346618581259577501754135341180155914001252399483939017661752161192300632039269350307440800556485321736481168158330203170589764678232920238182476764490923997157484669006626848707926979745436105026659791718725654581872259956718471895396896356398273911694540082867722083973564852019605960672645551934292523068186375946771657471639851037580102664513149058946532011702593902980926721553261881121687059584164729322719691537323315514987881303473988948962542717046310852002030893497607474809695231438144859523362875963931570347642900052519090875253165740792449294631761411281605006043323678149217024471810409000252357290745094008754190944850132342773779028203768777598838891022428946586307188578363258401140040295820151572777505522049767174180652296812814453596307746839919743615077556084901483048815266226168875496803462833040684967248845831448961089841116418534724679049542984233687929502850535622738086930362906434961063890273423981644437129896752462213499807179098325385375182451431822981701498047147440520820677173482930757424460717784725245946185748904930509650979539054225306921236070170383791085714698302257724852517384591456079105588537047066293052686115149625701677756605098715221893119931908608040958932727146520031599118043637406495544985222116311079240253084120858743275083025736046735590502428762009605821782540707253588194242748229061261156506709906900009646228666919350261335698044849903060697708791796420344947066473435831304985932397059589076521205938976976179995460990255750129252950517564633281937784817982728921626883979150390284154892848405010183293430169393085976918820760983272888921135516982344564447333253072962398579235645767684446557407881847532800320620409124850379079033696967998575698548117548118386688492826248933731346365620962364360176047562884825574687983523166892032758120831192672738707762830879194416406020746280318221576402945658339747608798691752555031704962919619171215072124527733136375472863049900375024593485960032115144992840662158257436742274475501063912224218890391206885714990281250332229301019625987938312748207951457466369086901110213105305738750610287625824804729782975970378866527021744112460837370072764091503713333614971740090516021354287018659906055371259092989698875726878000679158690910845740780273990101872583402502706752349279084556458472338387936948393212193705663102735811096309442346293573358743954610171509748417603259483536217516712490048287878693443178634077789561343147653044727101587308359186544227533506094500454270943829595234500617950815499122260677053695403470872316703773580038588820185360607740785920309100130736686153320514309483297128610836602524555926973266001032976141119174374276782789747510302954650308104060484212662927492258713195804378325583814279728206104671644545396678275066337611956154718081141066372890445086071121650660339892385555376753205387993468505034921858653621561162560773785078336813948450925056970346054311689014345656230772431780451284414990211879930904828898966619644774295261486897574573204681701313930905117056129681336246565767032752997884256367261046845139557876174554261407949927885159419323455730645855363767666277904565194687523590507070290264235937689217411258335714398554727179693347166990452457385765734636323402095801122354476444172330199688759484111588591938802652082412625415775923953557139009940619257885762438343967082535985086771745203064771259716871629271981108722640716731620311995057495353350785579058055228056768709400358862145084193945110212966418030102507190041435180262583918416963342871083924470112172842730327747013437984117330124469137759748817280837808632835848060410924220865767728752209963240080429944929304986884989845824998371385891669131411594805379770420015970689347111831573389010474647987808156521926441124175366266821681770769432381466336419486790863825847134143907867852662542025507987500598344208643353203403385407169700485895423819416463202364499218696935197625148758953644751634449406416198941671134104435014824843798746391600097858007148865413513572346046623479297272831424155920800251034678954542752194241325704026306976946540161354854687985714429486803039101844108638904144811237544371285330823993732836681962313029569185695856627411377033885853664622747193167250336110407331565700765207124240797569995015171682190064511788702874635229298088187710072903397299225664211305601375775977190139941236326728084538940031909615421499319261336411225553601183662732783852674019875478187635393573394928471029582528710380997565439732567129487558224783626807452739034903745390658115194195726455858788269618859947491839526549635447571365041228605931178327747043171702175554273381131644612205777914607365779146307623015698777942799470800066693339080866312852037258042871394552756934418643828321630754249357674340668984292481754076245634843585997894799507358408972112726010980185913187269858204360215449353734228209983215127996754771510867255688821989769067943231991850034564659754689420908586518688541565005301770434777447943867270393095250807174811438806676944040880337002762289229403949546456869467365627651215744427275561854727297092316077100833032761204644001950108825543666118384017506433079878960184957256409227026453638384878282644377846764678894521861373535543656377606476678170898450543551146912314274141648367976459749610075175159580739164799319511126936601648584829390733187973916908788195618674358831373515539061314098627551521295444877104580897721910582763398947484910278339169952254377681439407418668237567124423323514823465867649964519452476330870536440687141456832606639769454801930943710086795751239891190608598079561897702861704671402026390040755211696790396797200717133559771467791845713611149407966712462922999331477634216541227783574825862753499006792111978060307885749546973284196464487248154923884504168748844032656277470952960677481195278592514810702849070915018652287534294183631406112370858732629402433909819838680897918601274620818939502098874883195920209202041991431102432886184043867214698447218058827477611885531433454775949915708112154724304881109826753085018792712236067265424722554951167783499513760704930313675989221645767417615608894882995093114276568187950445739072603866015581213816955577135842043549347895364202338974649549276685353620131752865705505880944097716682618778503565693248837006191686881325769898892153770164294154770352800561194842247298518748777495354659986473128376681023168478386420803571506610437608027590099241762684102073191041168647523492506036456386777296180495366105618145387474536473562955760076828385002653903382204235925539829328419394494205000899887248918062112870490391300294855651474954344575244822871583406545423074678494274930963470015143263124161298211097657797808646208963643472088059155364232264831264515021605196502658472066706130120493386969922060721205507484698313250445679036197937511451056109940597227061024553164341842315931353905307277364315636726458013226763772668618633479296099412432700177449539823043204002544985446412582181492056014921887888485004281841829538377471703679191289376308701042720721052793407615909556056902878841543593704129448706773764271263821528379114630861459968813851549589693494777530091090895645062887987494998791897733005539554996967223113032996223735743856778002884728964213358326697472583460615280371262743221724325293392575924924474115450585976031425395401902732717953482453447118183267533772568831319357002083161783185793469555062509874148085073837262014483584640035336912705562119589062989355562779178399088576495624037971430883909711102642258974629317668967223404012789249994400301464679220203830421619880771734664735164681098205658445677184987499742916295695277744170956312845961026901454223339536443247908988275294511632099275307499379381898314756794441245959637262578848779824592170128005575802716147579216877302876772414278390459073912739294267884385771923968052299403405334707357333451836725155426582639619999309836730795037244868646114937304957612941570707066203289181107238915527538336663817080430330556707275261677419463060608701555657445230874655839612405030148057910614581630901314898861882107938274751304764124868278016019084967844218901110183925596780158884405085393976838736014191230960600868884840958759093979887545712509890277211540144019262217279654656498959921437569114290202041111579248731265080755959728472786996827891626827869491152476745851922811086526770098192794353379135535005146898579382371388273535727171789383014221648571714102900699728235323288484621928112894081707974024421905443693038017492997032084340110873321114536842359999320908951566908596491522776672296396942242423418831803521099116402806434847354437983200003628081909768558492561175239297741658204184481090895126836470846247411739612714881019329455867381943250861265358837368559920259078153960821287907306065333544905988347470101680869637317737325829139402014992329209692706783167596814766966752080774826807111167849293584619841862617211092532216068525388159185598806277687216438183516049553852793642109031310360781624389147125433165370049295435731311918042841965032161578090425201331248560532036085914481767170549766907392764895140552152060925413291657024918171664437203666136857876733251108285903819215447665286225246359219175013034284393319549122972792697639531748622320787892026844508352041249612609478597647640505134461645779957974192093941387311276724057940541046207559701574182718191565611832096658777408146769169774837664183860817525478596851524694807752817906293992706525231293089486645014790454710761515539979963895457354995616420964604747459853772405194520424469515511057601494221445985078562898005200150144217236030394428342444870888738111756954845868810158847305082029360514301370104506990268158198945951504537485723487980716132368998892862049934134778445964826238868934495641306886939680162402256960972590583690359144783046409691845826547581534945007765160758195664124007433611728666605780640979068506843839086550136603417156612177413653524666292403852731631584292475107182073761997425700526636287342485276970912414632604391164682571938447497652741279128833276475340045879787567219728508025158776549056558922047149620525210401201669876445381749387615396217620998186695643493775204078670455027574954208283438265272799066404046308555601579354158018388708877140523005777747910133607583463708160374140335816621710523779547780310828789311389894479586116939228137724820976622315374165551870724300378446838734446101858764966248302353552906856208893670501291450337471297708298592055240518783105621652132246122880034754732559325711750916176594166482394972913352370543886272408483705528170029629809058650804794954624582240135714158490067330844573881811967445142911521434279392699655622571986439196067753038374686672221703556890842503483294766784150367836819897475626360760561739594959045378728870880119654187892476530782025541234215275554653752784851164219300210400696015444285500717437035400703359356505398651785707006582099804195744951235876447812486104147556590450055377874542573276631373882502017264896961612910104812793263745673134738711663877099845420670270029601117226376272726745210181186559105258614533881970128991196384735029017400070680631462301308053975457760287247409909750691788261928319716472128495873791803549559085450061798813211982114298258375305635097899123594054486017902486260767194835184423490587190753372944339592409185352802957201038394209623342775620874772317011752756872410122453028153879584509634857983910451921318634956903039125641139059641254019436292949491921353071715344840968420710642282289811864026763507160796935047021002318781098561356791065930660078977625531978982500663151562983354439164449258057007801061628032102201957047579865658116809332423000560664896736948762426172410119907596206943468594040616410905711553454537680923271287235399907443591953983973721101334949165692714299302802031477456050544661845753230590170786156443038197017914956765394045943560606605070173938931321346258503810731950386744835560194918228051677305768502688432549589089560814199507525651893554022636610084816146203865446477107121879516306983362021407461243273856073300741729085341371467646620823326530075778457801275507872627830161825087008428187745332078797789429648585975819284204996482962042735407338531005469939541254619473472170399527022703577938585129683664406788983746565636135444780666838466976517661499961854398962350237176711027408909193995831451468723612871384972420690809504422367855102876286804251881635840261629851807211528332237580970905745356917840193816002439654325782504544519694034884092434085789998277191512303094738055403082315560818607161583433955617281063733110606015264964148156840431946235604363017431750920771304908868560472738551730953808475014486517604975677360783315447229253433596384563021521710498738592531020397895814333663841559299255089446027807017962274521055506711913163262652799366963598923830060969816001670881344300203911771916307016377800383003711264182414601498704171480566260338497751756038495491915791417929536849597062863297174522149452643640004011685127587387943486668837572288996134299386640236405894482452912428201658004781669418478063660478483817618565155840174603728978215856590831489306511779198572317164764724189304315319990881549971377420721011833196861968494405184713480510376244887581817277233442721570874000852493919493398103083199952288542626308518145514104967489642576817203145774197605540116651437193376372188186506524854450399937660922677770747939980142258086621498719124701387469895676580981634240795135703733486839946074001483818809109122785049874225639471028589036178924869455199904917116231709297408195172163625062371420825261190713179187638003738209989415516736290310549402905372537989577370008817865887049043920910261127811112935519422778192147007436373735190083294733687322396549476329928275318351812624007118920345658855468095030263042519219879777374432637260928911109005219868755372281053055764147614824639858637189772797761937308767042649704411511412890062126113885306037367229595816117021395030074141766112848332886016736716732035880470158024784864639807999576764707923310644566260337307361589922617875267426013536007295278511447312992791452450623340290963971759232197958011191466992839606609054620079823745212245036016910411563221953297269544555151828409453955078674040937185323660387796280514312676627403643982398318817605978528134663946956055581184589398070501135751682068069489438552913508828544734828151760971542385952213273086132204129233077656558692790957004784303955681994015964223359594550228105654377995470862448559080037069501560801930721464897267316393892553815995861702205913973027090063858841495346162764260442837389125191847819850025498263035851006341034437633407334699031270355830801124354815866116467990470409954792381287897186780109815204978806050476668203662967250936939607313669337472036724300318966620499750652520175471357865734643836467637926850195846151069676536390244748995432199723190611693296228778946122656683064351895616389957450772210945127991885324449376487789040544224233470979587265217693777637079604073278970245582953869616412632465754921044812238089336380764949967196348615540609091415949767808774619122770828684460532572718019232463199946676789260303597957811827900047139409217193998740760009997069581634479233605106166460077875593954578581356191179734847242756439544469001853703038899472199830805883405836720473010593371645853777333738261881997860740674509062922554889908344358447071868346283907929470801169686394851185081164381346028123477126650093708643498081061192511699839069112411278849225010740467001002498755498035240563673715644048348352246102196750403342268090196091918367697539184488898103076931360368464907518519208998079674849520642528150398821992945016312244419290790582175500212464156438780114736353486032318176976992568862342243651161413783584860345729184564597310145801442339103436619091211751414322400433814714649570280368174781573399255278767581363359753605595393840176867674304746201122791642138790162717829363320257354064982943159500554714114406637280225906499077297215318483539621059207509481870223099482546729701848378246112123226391943500731777620066954059960374037654410628719241786662420882146482782794381136197446758843595640054338403532921278595748814000737497083250483278575562787738665283977888843093724219594555535436816532937198863634368179075180196127350934580410944655172588496802612101534669727381161498560713593318421251782086976441366280313195926629980080049993801799153449183914186001491765200955505742943903063235405129132722852895331838612800900242018592068301245576885159986036670882144036179949757693010158168404896369505707194161819229869985461811066431624215434388574483433888071994766742309255414252204646132633302192541233265542251790039623700118772248801218997398674540232783101115581388876253275234665649792845609117583939724769569229581647917057753460630170075274314017131409347082620758055636513836577977785668667231433899715854051283817539517288672679243351932427944640427484557220427137038338428243358563142551037569101814745835641467895345086856290184867609167706199880065923053443639571728250888425996639289712477574013093554392473324079182045553817663723533222093512540132481590298902642974259278789454750065499469212124666206626082143493200208055224057223984383044936328281922845488932895874022579320820777499212636085911890296466098389588810029238820492462297133229297037751993136100980352670524486853226374478046384325646301000814486291219945715644790099446084293682847965274461276533324488110332420251747386222344906972367553788033995966640307214375360233103696573323152377229874426905668961779628232189871890962510009667381607994856169911256164664511017559716379949948745173586586770840471684474770849909769979447071072216462801394627545923362533618584457602386869037340402342997958662188971415880457537565078504261021206974369709692144094113468994263087437856931812699404387145948959983500248233904352960214104347987103068353429770829833207751807152848088283370145995157366923408952207467531109020004087766773452083041072554159390052576034609120814028417742037713070084243715867293605934806649256089060062140073524622034669434043776297371417295657738443594005475357783364787173858831995725380639809960264540532720562873151122978157160862957374684566542360082900430576533154127168989746228513385107670664275111061263511316160924243466569700709329952178094757112910514811469846816362099491211915737590934654666176085925249964296490499530084958760781963600471026739400740732084362442003461449470324239517678532424534809937752802805259240486576284671412186729974077030839307426174014500322104972620715170167184912813438981955969766521920190813700036727820825480844407705488949773529007409396411521592813098524327606824759522533080282483140911455034964805588336314363788086926850984022754356109530387770701212000289803251790104923250778850259083263414354851687722009982947719960230524388558044873833160358617226920300671018787426069417860407069990250750049323362692993214094658099646531428589402950507599383742467138926990433088969689317122152250932961528322314040152247200696225193121876948328674200291736644356806635821053328041767261515623021242888554325019347747162804383419392847933486122205735240128775008941153319230976508281811189635502495846710684529264484555742771213474285886128655316929049767845662596418247266927783440026607279474144408370664575851237670920004831219403483729208560022902779773086485414746185881115702402873149042337471022051225421059966070353839506482334592609712442501847780809771726739247319401655039607867012304739576533280658508348412526008894658467311915729174574224177949335497989190078206213086108038655162237581246483554065072432929291154509266713185929676930903243805005047057980295747163465461868596663348164737563758253029528629237343678949466010883529136131466638328071198371749145500064298208172745061751153316431785068605599580414470505145134434661354349132377733690004775758504046993549528650821231068855209618997124393434111680987953962481708529338557609002702279497412417974047571783589151301019483114208868324943314817802337650953324299552859443683435519727318517804946558350991943093702256819318024684488318677087309347278038059155250231204064223609470988530160758370543677837414644116053421760045932648901251010943688839493750108078235517849509082358995407264746204374288810508396455884266548692765048403283121820919225254911472664063622030793455066039883857248600510852807898750922954152053685929261987791689221592205220551985320147926147108591884318686574115963789931121609989761109796335654449027343590983289478678839749661090310579656789884814633779378097206339058401025151480018804012308861312975542072153696492705801455275021614678086913660749812251621634354851006334434910353420533934694524974769550862656936276212610915726891851277303763839795715936693067949298648386633844544863127608551005181894581104146470845401536291458227457290153410579881693540552831867360382508835230473920214607034933191067272651277179914138372267050300428895154913480292363239288242207957730865773544300787149940796063032576958992623920596601385554180341966989324367028510494283621790242444777381925654599726442141645880183324265738561878678959852363478423536809059927119995597854014483596606215632951638907300427568254001923588832030019113497523286130065109787692945531139668955583476437080703315692464770566831708735818394804538875307517147833711950768797640772884648664979182318450231538105517587340718962538798537621437172436820710468814205249239365508704489135541655626666713154192176366666445461341970658844048039586284011613603368548134550509359031416572525760552586987870305119319075536363454402515452339582336587160381608528218500714103549936084662784075061236838764462145891921779142593006497312418546365599567512958502030822784103261371511351983906124159646333982390087897387993371672887203567894869612784691802988400077024046141684357096461162379484580024369153446231929702763704581054668618648920064818578844704613762942820614210703480363084411167800614815023913690139665758030939659044159125120969529735812730979032583292747939969282438314920625902933092860103323917403838342745711351398457747832024488386021968076716331653498673034745401399921598221116711151254425853760916734327699904005844974347590556420630769469347283565064991077767958926507983234810840182244891170749665104061875918474857697210367432681514842019569722074734482208792869960836293587631653890478390048742747935151528419727078614321965828417069390496815772568280501220207510923634655176931515723238105018022585517518247822341364317881652068506613942262653446972893597805755792607832166738898066125192388000169534325226200528899561086132879950759573554749552474243083287019180305647708273670143445393759376315501750935185158798505069463905231958292523097514074052545956314007436631365318598857577378878419026141186895445650421603370647862526272470854341759779500692649026951120275026309543674058016472131592679453794369497526101844660858000783127191316021235091382970425870233641604644846128470918634315198653654660902676182247471801225355996813235223866795597369258068959753037126480244820458137018203432869086371659833775710858330103687434657741106218143176556339621006385831674674809188717077376535589866220294998738274442554792411634654679406036502474602456189525909349966735951227127320524011111391852302706761427723092229472881013319296333997818550318293443263220646980101295170455704300632501562504315083657628326741230020495063971736784188910051425253052496886256738738477796628662164973624028836930961735437337313667758358357017944714574708124906980229776815688257225708949890899120660554025206080132245048251208137567437661986796426412986059431128300054088818812331334729747312126744443118675943209106681841781026557335326213877374737553457827904151159313218518285887774417722966204691386602093496942560536450662133317325961987682588594298794267093801141054153993918960836361924874187916930646357844807215658399312037940118324480201556714142859863727859846970740475543618234815879601141366235245480672034561475693978012289565852162256169671298369008539004383451036299591188765554858501038242000728257383191539907527071272412720139581995535663735512890906976251070304892027945259155650048553046678249437412341710845111272716022109419314554015799975257597062357119650920779653514558284969464124712726275202638568898807683516345882147443822121862964661262708267422635057195047392386350754121166483026200971276710048982671613245191035278362070128544446701113052325226930150870306338451974189270634069245458809137680372957533468067793504686478745877073762192530528748136198511385757845429291076654292834071343502250882818892915244527783987472190081314380720430207245467931758778466626656846528861507688403122321218733296072442684943391394823440048794731810015672345261770257670886790779488435759761351817722330324699911665759663561548880404973201297560095265988234960223329496042355117872785529240802858776678063370228800022181033547073381937382622675719292593356370954061572778057244148311164042802001173781045377356971226702822063493126905454981671849950281156890107968802900112565891790555923454722921378528723282181212503451820595480967722776607131017786034388295733182064235872369934100981061723496382468683009133256534492346840680693901747353201504440611383475519042887754060775819161781154130039925740378644359130190784611315598122874333833098537839728020727286892320298943973394819817757139247491694646666789612342910937033879325123377397138802549835070664655016435659685314582650756107057247029983740904860172437641981422704314803738452936874360053639126726507615680781314200412241195949403929770163428124078720808521666306459230567032070981617225290269602306308129260227978177435716138102919298062250972902342140272119169380327132983200837285066796162815923582866865760999044159915872039418368224730903669496907177457012177714467268351119457992357643789469356535420860629730104673071982276607743930230946886154828109515202159705255023615647835579419688175556091385778521922259647769941023057003836674762355069788231896556982414650286786318921131224060618093860488326451730840169501420821573260642922288691115250254993602180051041932609690738474883239140241558533260115285070430660932244424825241441746074448844534185528241403762246430116084929486645829985520542671517405454420206280703433294106933727264297066891081535848401490945693824621684799297070687378774062892832545134226040883718721990383555267472209412312676596338155725024484611269592746975238144932164044468989516224006928370958627380688833629163724004187595864552046374627569583050798453815347152306641100725692362934927639367109131351270403054576969966845535847145591819283771246258352141244581202749660784771810569945704336050816850958945374630795183950034717251948443599494854468526812973590190690653598903356956031006447968263120457319101154449655511226841732515227738630308135975821722905976613762764176616347690912507016199955375964321155753439662168827108403675119299960008862463219998754180943600530874133962692998207629668015488090523558718680761698556060434175392524049679996465176000269269165516987526525067739508513040805388445060926010964368810894202685615907389985099082501549463918220970064845536636689968589228638215971107671797678975011542808723039128878869961867893071982867549919743262709341000268510325929632688185241489579124432764872180145298218574977142929436668937836438222965859111417940518494207357064528325988459122593949274445571466776515114569290313952537580463375857964158116362187227661518982412205351322422488256167742459676541254033178449883841113760735007720085697277626487365278338916361424964210630883493089033208487794286440497222682861859946689343794851334855905828206964612394649757412236283139773381908745580331675172722386647360336322942216531277635847730631534297372774923149739427339168139875171650178103261317455063776577097886959767574221493716352884568741975606953600393373320206516493697081492295834331163103727409098662574705051470227230962962287676893693773871239020465167295592539637570422968270137215978496180362348043379063970358558242210882352987239496885357705045182895099193763474732035193828111442092546739336782292584965322008001526318029140864688824845131277306267980815595476482850417271139264031553850405835488218720632498225683083781144749672788833320028717670034369690112633377140681492485609922237095518547384457179054176873927917178516593198682887564181867768768410191491807939961128907075158854552469947650821767567721164663642768199852241009652130504650834072757448496619761614608405906074102214449762236679944848377775461200772349048346804799553637492002228711271851356066168229123239218005582781418581599044062405262546367710924438317339847632851470653500079783184915824011759565900535027064038408707123341254904300589255268336910947101885680630974863894076607300957659146215650501976073448899217067459599010087108436183443327787653682587723082233443454329275264503508275103688527876967792475290543516348471778306004342306802510416927098404294232615492831376121879256159805549617993488223404322283765653188612575026407804515295419719419547797740615546242676714336470510868155403216644525162310712260123089371047550682508603240463908671443690773244134398492841467882847147933299621527265676834010400353802720252754184352253722834489706581156085710599336667745198566047220084160190860000788059526818266913138417341819905590105823592902013540514610372925984089244405799629261209829819631751214535332103905565185435755015506330230393983217424163887658141828375495738248135795353764156486001991020976353392075484934838869281611240904286051688972415625937579583189895007292459604679885544190931123329852718446233567773599333480407470372053280347069763700271572820230730576961414871966420425572750491950366323004651395418140725108930709443978312110733276687592803776507172513608755719376485636744855888825788766133918449302119188229270901950014684234363699275319954611567138685704507441432163390407802999234905814465652044962335154357201055418206044026298913181811835652148013865548465039391744227689983209599473453261485153380908818440673726935784293194085081800541112501203457445303331397380446948852770989980569600051914114142279477629690392241524461598136812557513984940301589089128390396906823715967622826543755905616030020457274561527945965191825007133487156545101752772344850870016671622088134714559577331251876805648529105407392802221120032862781056402439800380701905697739652978779098800316200668984037215519624334297992810095608616020149108819115097937929003694499120621765377482371955324580636150130098086504424252934783569851494288463384019650862826192681818133145352271022161786885639796180425572709401969041952782218972371157604600163990908887257182510468842834618913181202969641334893176005480461049509279897517631114740226421967576451984887245324003253302518248307749123252566884756169542393488977846191575794422770855820578541006163487982613985550919249337634419693864702415434328232827684568414269943837235402540939373073804634343828207196553140326715847016941483313914996741090812530998431631207310850501690632931910182110539558556703982419629169520765719992723071763730813642389401482326265470550903841961663957458368747626735252558119907191836237358436871834305909221799544996922233003428708226933056544676836776755877960837571832810682555956854316804574768968447920124443974874700573757245740874921782756424733258593382718360118550637271168238142462458904590760296921428081805778560188655269099927922154712708959240179476507844514414645517172724548476941607662478326065735413894461988583756749847678053698392957632660226472399204136521623736361466640323155185415154811185810844339855150436734807098016306252475101971504669545974914141011308661681636860421033880745651994932458611604871116486279983802481253941899013637727311133834266778532592324533344853759664716208338537412263555308937443901951541575679942453238033408307216841994789968124268884616597060833397337177144364986798767187972512615063197288554063191512610386496203137400515441345721044904467051945156922739366732497685739160310543114816892225159257668780953462048818191351201284162581472102780965979991944160344384182326231448081673218912379946597469447371994734475461447290698588542010162523064196805972372284233732451140654028375526303970784269804597321019493457002525055959469814542210702836906765111338008271970430451924780925117856272910352627916974258068402627307584190214628440917898442561629867390910053700297885506985823190928855440993457717507878492547917137854322631465566615358702116916043172098426523231396606548893085383019683401924136867142069727633671975814778723614330172612555205583002475666557171155769559720731113661647649212410007432536721117181902698647349658130101367113732229307682146982330958626017552721672584247759443215834483251667717953813744964440656738138326645751744905748004650568402111858982706460025498422293207274982206974769806226082660110961848556935211806622929940380157261010384282960889874606563046798502292990209291932461771606160384801422508869123734248586441731267184746634512149080855321275811894748251785940175844722914259381996647903390875103666661541646865470072022022545975348098423501364848574947885547459213375096376782165427914135474670062812767442222991188279981357269073785469091101556810429717305778842476385374026797415237094624639434605121639245148210507976032685986609400873234156423535667666375312276348010107704548905103240579565966741308311579279748096695434726072474106920153392090933458277744733961650093575247112417075063503208867717412193495146667638712637372846116040877063015837600111533649212190203318068500324666379221737979268046636376195583620471957455881725511200080419911461363395552011300394239159753566741136702232551901934176455731469482202225229548333297745560513730774251770977444659807607594546606593103127348715553264389083383702773822074314568944586437175412106604933774542490470014903959465745943771237897280058429396210552675039566321492376729814066350061202360793595072500261188229881702440932306066540097229824335376524377994159185149339041722501469974253353780504362141093577235490088186907390269514016697214836261672332385111763897273755722811689919980399572937460322172819284534093325844116963040623830035426887429021182429856451245795207347984627346195104552425613736299433014983937291110870529969519183533650534844242848046310476522083420859365173096584496130285833654819543598186756220294161384321163257685982562967201828906781124186868784597313387140418729700711919867701293106293096949899354813921875928804839845138740758643027656157147335183544073506255312343664960053109148813032384462652043513629026265933306812051158885104358569945649938869570706111923572757110294196928994187655436884256928063861435130310638444334313396196979733561523242666417066390240362365593574944251038356824938543066369565628381349757831909024277049909445141111241230206043422328892597491438231575907984423517784541128724259493533330985710978755386839817548252121751810308218176505155563452429948453904577562674465785517591489162251178070532881170459740597598645830080056103223325384300750981134310120450833190422865468587799440122965616563890815959223940343922260010197221765736217116359902575752900033866022749259421935596129475518513699393249692786635065238826768941167638908982314619095968338612311858671495757270575686399745427113036591818384717808180841752010065566213047632675249466820599746393688064999076413425808930820409023632383517830632217617206433632011040344099409158405146878326260477568040712615484260346833880268094044793089193734239036386440254924481157390763168026646799679017556718706413633240288705087457165871395916429253614402597840290871343774441758956655811307376296889347527173711313779000310082729387122487986914124280084502725122546352721992018762423508027844796784337023680736143992859048111112541931101350959312727661124888954689194535563621879329974884586783481448626980470399009162895288368911374616731561702410045157757001603778370339572539261354053250114657419224801218243169853035363945988575041132622240054109705194916292574379281916876204926756847774860345138396946799094353055861500427944483112063090593443247000937536710056044926556034727477807907836395045187624483926979873135352843484638881332304397927748022015296192355486000473427309507867806253076736433322824196132427056557794522660656950161892625626948238005695033649150471162428579689682908969058363758278283892895520363223930960420462287810637658111782742762532340505564585343287393682881055582302015544340256660561199160833124527637674938321952334956317862584221341665748262887744717933870329083625039959451591113255050506004055193310678540221401392893077471031783341055948291837130769245697952206414022795846705868857757846872528947007508518500453068757078397466638450736019535737073785356700362585582066737243338623835066357323527255029874737157104957827619393563501675928367423085383857351276128826173200948780873129781099401372087532187962176750723431042040983005430754543089347560999967053006260089395875398030047816817127195093934191068331792429451595438511210909172267321832118162279570595447822536126829509548622172312363166507257218634531741072397650382647261206586272339002819509088574096005768787459135373146151589768102894467346086010997367803156129155718923796941378351231627407516945694908680544178759792003655469263444618177373227167003444266776046094924812058797064658497352880792415315639324344125789177935725901786375825693806342504430545882795813741075602287584447810965427651767062223706972419791802152291454833956256228460783866292668106052637667735843824873378258642885012123329247207096075960682756058028935698068009042477941448052246140801929827445359142613006731539974220398080445375011953972619448484495199114028190660032628026970954487165779231879915526503112323553639686684530243015961973492262352274323053604223375606417777316238560718050405591823508941421612604389373200349753263396931768396397408340876148966053467650020180180950179015247573815905144668404233204625195859647960289531559077547204187516804221048827397952482737496742588221229084184267327354050629747395625186097845807013227661151733251592801250066103078456552279339066119554676984670693114454341653858729999117725534075836267307205981923186415819683344077561735876011585410628859025148597066302566272781881934320443544059426417472874446384970887538924365482695425677051955005030485739671925936918313224995238290395190787500747741928834128339315143605456554992740034000514752860117649136881975405835181301064281918542772397988891155654420613295214834039746559537469317679712605932622735788936943952814037155498125622918360289709884483519995909272476142927384761134273942707646596586099675123050324376092528374535447598558719279745135456040928446312383889192976387224509486946643316458586117087884072595663446488772838981448069759334634892092084747933664114769169483043759599830298448510466971167611803157567043074868319135015108662681481108066267644488187637341191046301486433951333169438648671912530511977122226051292720662888283651460221944708196954631978248180623064295919343803191070756728911303416669390683766514373340098291769177833502351137723780700801344937512480505007321973812385162506320810496669536517392868858139774907719078245297941956168869722316752104506671379192086538936749986314866410170044457629958945321955986639580917941851056008686137283520554464203327542845960428433290425439861323590988961610491104037053812955077468163875576813162991902508157027190764907757843602169772279041728321524831115467377986753486330097098407188529177293638378968670454493802201715742430599092277663302429744170450074589944751500765742782902593896377634935315947832002254243267251842300506882020825497212921405633725581581127104741570185389317829398787712798274886567150463224664385555348488786876641355612761048582420589186519723435336395723609948081681739740311903093045100043961806912344770855514924729667850895219861090165524898357700496192037386165583736313265234598245319951059160583790003979969517770697952469522983676074314990085485641433272200349890338404285312421123402100498162429185892422243495753608082603067624015469578806472961926684527511160095905378548316367124548486778820172520546398558650035823500202150851642366350078776071519856145256264951591055507477278537981540632716819511175410228892983782225453367566519025121682301691819839425989997594117695875215092794637661963360871925094446859022136218571040722049966386358712990530555270284104677262021274466745452154577237082364445335706452251497567870517194800500802567824607818185487583892258881641762049036112904312816748320766934852285776067934846458657669095206610087879064301681675339162115205681084467894159123374146368211388337577326140274624666451509892104406381808305608040137010089074171937662958444216912279089328319826772333212792007680916610268387238432454420686797560394826736582067345155042676308818158558039319161732754429557643651620151664466855759372594097115187836921732999384157882766022670925291474618234186636721931122698423608685452041883128019978033487875658827105870237096130274799132348225813769612170462274224961016733754788010634085514866228699569152716263350178980339827364487742823153814829001343256788832287607165110115958718714501057834762975288743392745818276860004527757177247880209896564385294238817387999187471297587411654133239155651089087752576862866168071921090343265030146354274920447493124652014732319757703612045011747939862821525354972026717908950519508590979562153891218056487899678573068849963903277813229401520730505202096076546883252517526410135506514502980213435336587555916168367494289441214804865998225611198797208669302128499501664795238170649564273515525846846289200141881385743510670806803934006493980278204084501559743111297779680235822043997189182740819520245230161759947970828058600328892886741062471328690946946684390420120577410669946215723851109156923759278558684493977360688001922934914717580163165254747272854041117825003154049416495321147450754966548023101855184474204933682149867867387892495751470690246623904739663020066157810935792046362771350394697843435917414264377803119021954752269208954796887825485645707135566698502327546123988230278689013175732191716784930163650138955291315901174224896073749460202948512798559245077379356908133386974703741573965582588573741349035827814340746255423551643968904607795838664996649445074756579699351493513597320013303372081166289167650986948072944032991761290723011140465891138242727263296851760942841879398026052395654066459330078965741576697086719209294525393155274373528280048234575091448533542404918205830211736693760497384227215913483552040425761699280642854714019368556141102765828085704034232587586569465009202308498308267843272774869277955040661110043597647686786538495502722558854224986136573631739614809989360847409717649547154334062370732658697527645921337429714124207051122564494990791441924448328393791380420636238002970028206239318075619226485397394933083251970873138458119857017100249136525227198684083184047846936429025111292751766993988620343878917517267572217442145385761100283487432190524333293992809488390615294064110187937539411343031719168526355316735298536398677616350661196822472348640340968103858504606729601476131074024007426534024368037921068446153419708080881220768071106438905886342157852825822877436754701408310031138429853493528249358504036234592392668831144807754671059106940654723734658778941924873236437024020240175175970468295402550796773098444317986354134645953902276574320351884311155975463523304523550552928506363115240811767846454714132798134065927467320835452822766343059530547343093817503778723176464890964910442558796940411705277662970232569524636717758458788220284605305305466181722096550981839675444011935670278272108335560644665752280980586287033307578738210821129210210389616523122848792032803766538720195820518561825014424096283660984633225284110157417361488234146028737749849149845904629889032849256083957399140591024120684557624803459047235953688392746190063530060252868443454660057857456872500288797407812699501435969649476414931850496255521694445285574529480723243302773655574561042966088356974253073611130310823800031585387362868849210917491803390548285054627864100013169471998948894209530864465026796100715048439262063311711860861208187157327345513700141867686921967048859010362423315167760172717422330504953061585247919628896759444213462356519312219428440714309789550559858862442017362826073505116384635711187846834715883490623342588343614274793829548341263417416882602888735547816653238321540768359096812054884548171892692062036709653605640898759284508157427478621941367169943229458693304953537229679978004871910203478247394917971719767262538849528173051360089227052430855648745041216033551514931039641863808926595190343501979503662299371070610980328347286934541513596718150629766374430994932369570495349591419352727151418737658694512236367107938011524216624494119800446557212597535804639991023932797708387184753479985436030661774685481674302535091141422536356338388354354468600110863848021479276315847935107106227221232890003040085551034607680665195521686567189181334850680693770039068701376254055246684976710144599349618422468980417018602351019649901337786508323436869443782163920218850859965813111265889482917734897361101747392459963978823770846435932564640554466354564506278165078910000603578958471411788114001470455657924684793389859044356095193955983048411907085968390826969646301033129195405483566334707548255971622409572456078995227513743172920432944214571757021119664927329504589243511542249892841829309680162790999014391000651606646547657233038464624395113830677701241619910309399289403981160616742076033829175930656604400871622422948641209276800548402635460460212864312968617604867685458733245904904458154468976001291767593717828778157463447497443174722457141782495933265895990123263165431809785578257753550495717798199024612577728494463535252170334339313436451383042589815147736236791994181688328599187157217228765199470314248248787596411631008191276660288566473109611646667671189367634721290963008692396234207088629338631255612873406534679097419938288166385060278732800485054491820199337871130829493390254440845445283110790671755781580093867536003860355768063981064235751099733184028068507709966620139938302157057490439491154383090561583001130141099139583290325869583767619707448919113263121640981843472560087662111596951333890462589050402103971688752976341156530163761401724174127541567757338515633409689244301406179749753717442566473493454579246967993011026194337636448667537561087691613043613748330479441225952612415148981699807681018481895780038325763387804353118569719951740840404292157320717893877089593155702274272826581614974080133206343384008689023889391833314200451596140089861121562924364169472543135617018117920055959285439183334369451919451431715413500742006390506071676581905824216202897696844090552454470012818868581435495454205566898387862448320752121741094873647410915786040991025855586394013091551756002797658653840756823639735834723364825533520524772296088193054082105328131130488092625504406239557590391944317141526527540808952986572630716340732243950379987148815126244606312813852410741435979408576657852516943899274655621805886920662325044937029212885127459270213767483429277774127189221554062683300828600901792187538294862915016245407247778866998890070980505692506985818373901350763943654187232930311836581686333644779329007078574510611399148091109971279294384939136701584241896910938623802725764521667814022361322904680977248778268641881228779934329767071638705695119901896323092458999902179757131345174259360325136902088395860854675047773229290628464817203195072814911800959505125813447571570554678484436237769148191799840529066771547929117426693348858567088139473448486214381111595475449852804057422506951464720084246244722993215792264672178814520648208302769361192173852367856740962791085234229560906326667104802881922637139090737684448093184449896992931060368700953087272410262136788706972698569734002280363504755236880049558697359039020691931283070710617913556767421587725759822191294318645745477205132894587827375775210307119425545175288583633445935800552400893120991882570655486639231448086237441459530559003065809529244042617675254206771033553684955246546435770101789796416313038674952396108289032577244899186229965198423278274995958934083103129326766102724108073795462818807634269861761703310093468008306518347713287054254996232603250116192827302129934934139799634261512648506347348327591363178682472894449321466061847965057304067187482841519147416841690897229561606700728197766108311410618692743573355356462725414379409813463832286243364133478978890912641531873040605317247738103537082669410654440622661293766233632590613838197631940130398985582094820953918602481990989664862713566498757014979534006764478586820491076270969775705491508796197691944139015941256832679426395790182782545568969968032231781589778225657613871677013214802115527276731117341653118922038451473699023164776475938806016075537483382328545825950629102393600165447353942982876682073712192752999073697440811342372020131423404505259316972775590585657003132022465479086657583451266545682630554619314754718739127923972118469217783762006326246681456322496877656028010455006968281528657542598234834009264710128328430643025697652644694135027062145831911049179319414349301770348702633346016871029183608374125327587763154022303956288776844723280302142987294946474939503146491804133514202393881524875937371592838326600354064289535416985061992235303829218610486918255269025574988931977847206199198050179722622476371814459796413713846207982090839588211870480155631852081343051685237415842174781458011563058311767877089770942569153607878091136284354824022828394565804195220130311977227965959838840936358355901185742704482665056343842162536049834085438904028543049268993066135302956244002028267343672871926207940297350617969254101291753762660825396822180621641812462173118967334743094220887670606305467169963141821559029243513784364350632262093120680143169163849781012271071502167924720562634687067390887567539442448270838250878826535655819744166357784924176318814836216441222232363549938942990784092165099611235325120110314233835506549388909275961105369398083023861037130475667626055583092784943578519785639053474326745056049094077085918865106554530081982644525281740877465478991615116348753930674193023342758365049641568635388344929702698830212838507501173072253194741218860306066086656547714244902618109150955830742760829485811035201107033030587092579512353389221572474247856716767883589737676177211751305869343355367649036743738817044405436987385939266494471535038152596325055300204906764624458522605213931219629970578255032704577980448589560702099021534466953706842845217821445238667104694081075061673174785697189794278788716052834504290221224398343390694767646413145818070481842165818603669376409894336493814267999197179815233510841570647616502760453863299952244303389384486986948796492541509969476646546897692164861423923568275318509654088133533236031501845430918115897953009608823801822954836466507308346158753739094675311255426108040965927527145627225527350121765782432201282217368454018834091125636960586741735441883030291042295409312139163251665271628121402003934852462926770253355678013212110007468751049272921506773328246340543305146411016945801523928106487165119374849628471452059228602216430922707329113148505514626087654910369689708578112513994774893832884265980561212183161153030419155186977220696407051706558307454295568020558606479198561137208320213973371589718010093419529924086318041862299694415900148445348986206796450530773611839913611440073059304205749678639537317291277835848215629148003084298917636403425821977585909988615422915064881854893919464924424427073460653662824110438068746346424452489217270080026988968400977049906879061899434905998791232993931686542977873405363741086041168212232803214430184507966819142023711524639482201770931427298845543362729864739836067619735520646544148606206582731163150571772420887655624872226829266602037148511214624414964999515202973569634689579349118486138732356737272362867229569307022272826189362420914468343426468002660771995022165093651912429912989094967348869160997557084153856326697999287231066968120038735043570013902925124556125259003322197307426285577090519268291420781601592068468518949602680324164502321797845493500368685311200743998786753531880447347851395431773960600553611144063536421618126021263865730946905932559063972194920380562876788287430919096154068691521231893627892498701245388290743083816074862738967877453782363709467889116034175404550891697540592273940492666239120406468558191112089876130221444569725686254529501304112171998091066911541574687485849599866199083983781712633106815336413320408361685895059251501682768475240163473441553578291894992138591091122483181871721948688386571304048294777424440601099690156383523782761290959674815107225829181329982874270549873596774842208562067520671599421809118851021464388153607962345415092134034300612997868682579602938497659187127068051527071418619605739031888512824338726837664102076717571266109274582233522905129948528281613592546990669160185027594016816244982303860880138242498830699639176230939613485459945178006710782255193242050873901267954978440156989887507912316527747212894791531731284579690612883700197518951091669085067985676051658730747998414456849249212797902881242410088408847783731591936132045482630356747492775654138559987303215905407629514363788522298669818514967083486052744652644981763753211029230625903686358567994891492488089604126511073389096634435933844124958326982682427601020989659454604773652398711801751865136733933944944267677542321191082309423728968680220347439593248623769437410866602820174765563194951087225889202215249803245839271724279586677378380658016613729297771184466502501152581240730709630180406940749655684993087263042183001570412013792245678731940258213109454610936997492226185837465197323220368127821679785482540385357995868520967119563235803556744705872326862792820603648717936660559441175390180898377902808434422479687088565952716127883634043276080005804509481613762417573420339477986303223673828425719406058354743783890446415406579099993185608124308463533967991722881263788799160033833788588455471982316793889336283777320641146617025954208508851805129008431630715043310753954554199079646509023164428834474068719718935466735649456812354304961298884537609297708931994214630482207660235398243215761625487612842541210616113313364882245413244897545356626534914240822491340206617500721126943061249663413321878554680294591249172174641038186713621514571649507321984896957276872688364311053604427157154289136681571274428332133397633430005081273956718748263504621039314324319975491958090961365625700243201665807095188730589919787067936829524404853420238652758845077629278714634221930150056380457251317594012285611355436854201081823715869013394106131783292979204109913274541054713071745330047233839565461871634457034018556047181381578089815947036849425786821926363634477428221860596424745794721701500258173333022732047386573215346948938772327005556946006475062041487331611568622852690741688093499017469127606927198938505564840024337032655975293686023874269601591645095650888549020898484988762500950696676359381231697790345117805540667349228798064769733991389207356808640524705632218673824785071644611430980954948809247373180071966058926964767438019702682241032886561113658492748669631268073768413367434448435491569475817285335944010063322752305783993875303255072167800795954106798161051287012353251890481593561721703239862529923914117857155601316674495414313623225134309093811713897244019512308210327892658362850240295904940492941532776864235979783872458059395139056795560489022429600734317792826184751933955564593715046875619975797431690153572144066875808686554524850048273571308531731244135792320993581940084780355302666178999034001645004709491013833401772294629926564233454788104605647714030170786181447811161624796255323924406800969011790922851352731479550364501613013003828067884533563391135173141024267843977071244855993926430774456327190903208839351852366033052369976131317334834526825772849605743916715539515852956333008194184226563499761732066839099307221655802854054586971189012219660240669460829422781432154324365761017502059129601843671261833291453458847496239270976581693940402863874677684859859221382070348649830522504843916857753454819551137494718952124618141523990215336585113352535414111656440333991014817160305596064373428680323910031407094111326232632399839699537619227136973500148398583884971448168151714974590795901774492774451113062728420131635843764179209332924316744005546123114291616263976070663560386006560837140438303004134347463989548459451126970333775832905533641222535927524973455348333723258625709633843342035966408972856443178958761351810094275452037400888010727884818895951672312621189125001920873733861336501373434886404252252001770462072668820070446561847389682355647147107826826300452149043241055363554525591842135419686511373978866630975008142564319847403775914587895906098457426078857863202314402576460524637248392024315470427111900318904204033381700098642286434180747777779834425559893089229069745701872020468182941675249134855996061980098948447489166287604198006025970012736569393629754093208594546675623408046150135458215508632072266038934013767305762534065551698152777855992998824194642665167687761191736222702092278336052507704807075907180343633570756382836596813995390760727068181365657591986683751054611521808378119196475540967095824956017828245672736856312185020980470362464176198

ZIP-файл Pi

https://files.pilookup.com/pi/1-400000.zip

Текстовый файл с π

https://files.pilookup.com/pi/400000.txt

Скачать больше знаков числа π

Вы можете посетить наш Центр загрузки числа π, чтобы загрузить число π с различным количеством знаков, поддерживая общие значения, и вы можете загрузить до 10 миллиардов знаков числа π.

Перейти на страницу загрузки числа π