686699689599819055682918159524495897119480541668728321069410457946573542012612312153358638475049383543165216243840621567876328041547592442895039689178454398908836345376584164913033072709912803252795530486827563216745346870676768693234241150907683438824578459192327324630104058396969635606671521819991977064476840536491044238857228755047798757458331767577298743714528629389308704767072807653736958717756318951591720823996723924488522367574937494815853637532755682983566974934406261109292722564777772946381933350466859468346087536112953206594645463544730656126355452978156326934180373784137138748407995903278695712558247334109215770827907579584878645615854561603225957549972828248592924576482423826816222242496237115696175895994229269414343653584630566019124140827408293275932495107216133635776090851671720704462985826338296179210028021939483019938968350152760206632799696843825528714152330856369170728772867456440562260102347822795429738667849715524743731969884843591041733941644548463369113574188839916407935539255799486922778355426279016352194896542768620132692022809176124127030623280629715234561538145356380173176677301543434777141706706917825733416632211735103772708587742102855668599581123169671147585765017444377520132475893199261116186447974907191839549351550216779396490995442357373717414894102285307178313641987238742476674782314536586909315692726104837920333803329186383818456976354290808578401879739394781161947549908376325941531886583342637776285192065218268334147448428174095223934160415639979786823725029931169004847371891534972027783212992288591415549247360517867059869240095834298913810007091451180649062758745861041719548386089789514015592589610839649640693379595613460142886561205682232862421958109513892461293415084460198231147670644687653224071996924459522751416527974731624683844557318013844929323636326496866062391183253737232739214605708306182424802941930224645527515108363642210820262581498187097286957010324213460544483212251817217929624780275398890961570904330165124874535987678124338637053539705879949823706191894165131770652958335836886525863025564051188567916260654296671877624860755889893389014669814879011749641674174444483332533872813769431539209644229975571214034562561623381473331369814820453347630497895115584780294145812639560106190976939120675973134986050652170308673463673782856416525986419859585576258471447552086035112781980006728912785834931119644652478343325613218445275546810865122329796703237943409242897253375765228387919410390744810806115842449550691449021344852655027317554734595057495837881779336689589297547962428619968114452202528817538243105315276828318091298821410886723875464449592163471943207273219768103429918340567905900685246801432751792343024615328764312593645233432575669523312737775353261852057551742568792762177655437462058775612622561948809197237837504719436678319533876734144309470463930836390537813235521907311274424801297292786500371859815802369613786692279187598135998158254643834261842599420429544261485109365063435723444159015236029042524572527705603689235017895544361171046542741943583719733145936499500262199518038130365491468530991996155249008566495661327115329215584704820366809627121467423832024517455538001707853459024798608817877632523177781286794866592836603310190108064656650944166337085213323493532085883100511302537581867371179902719592582147163958558284918359331472636918774843875681588161977475367612415794424604481336376861798217582915917321016478709136688132308589505561328771885953993142659614818637227871200233158871230722632411618768873721104390625177346543516499041865834664528553128268849887697827416377123833808058494989014253586451778757708208618489401686269173826793475831062553493789229332607477213382582381079023556236955721848738035710915432374734405036942710545869465867271639632481144616197938428824397947806303910446999374796582429386286004815600454848695849328366371503210273804027839520847593816128065226305647466598699208138375477881877643197839679218116676697861402968697405041507582988259237988689994806828034017621239208448733148795762092616918089032652282193376535184182371881610977819700480536286945587579789602633085592895114165825255971679979250015591112752362259667579774216852925824482729324067926382577244816645617166896268505674784154591828295174588535058332218594027850111880568355204382258461124269357049514552763252901808996271725903192691514642495507232398124827268015333872685847277213508184983176632470028353764353615331033897539726332813532048817870789168615099614554548745268781495352761369596399614672831166790171758380409281381679277382861495919774711597796726204106548168991422714970296102410437414218636414759738209581752711855132864974988692483213366177746116869736759037527006515441785525589511978793778597776013018265023243397294434839604853409389621838791753011173617418359846588166581805665853971154697673641187163982255381923579692506620207603893061051127337449073955787318868191794588388818197236453831733674975599841105438849256782915053046755909435421390986622266391876178297562235798271925030906267724140734411140647077701262262686180119885456463391378112453367031351375637021370391155860600819699224325611532909517491943980756873003104154681789191862391034073690275435129432237827183793657910883526277166493529007493754466659963973661933134932918856352306628280132795698488274188352877498864112111814221305193260644911983271627326727811751498966712934114752759219706575432371028609221373034802321432305990122448033111577594788041588187184008591377192485771659363593283497974112215797282971571591287046960120168473585099739746880239322757738722963882259990717901369266694714889516534931203124969949959935168143846407111688765556433529429516121050149376085529258856879980336357460467235767337497218711351953952269657046066321510168178689508424101574192323551391539260898517246796239679100870262635634941397162187