55161450302660406276693480979406274519792109379789775211473695093267885499816882248265932784572199514863962685333130008244054089857040059809325993206648625823653023995857911145332134011601673857252345786551543372491223426192174856765689204973347873987330286367740275573319619376058455240597289312061492242977223457944521511649279375686687430677943861205407690708917500332989296611798903649626512078636844597723946410555557883542453935643714567685105303714925861023283769065867670666945341418385116384192247537847460157725109826961314757860627255645492352134217042243538005836483464350131240988496624347236210343808538088596926147764205879990248909095284528803526139970243576535247866354078962964440399274033764370020111171857232457567131732783960437265053320321234035747905537955295678983289348223747761363783512397942621829030260242690903247979307236742182418160453974117703037819179533724267635459295992354454869798346371349692833510858891861177488235219688920968090290955382832346467778154271285368736802408367679719849641448122958166210459817639060665111217696550548238861921817612967544864682466928592232599126117768804364512164178737085793931551595618626586752261923134686917801688891150939740872261155593582629995471274046302009481696865621391237170666540571315682555686940960578678273165701375897233117862671198993222032333851745685224039256856038387822148362331895731052084153810451622183113037958233201076418623572416367306666131711594645851222101355532758022284539891030559535855736351647575191384375557533148172645666922347667697711911371796858816433133279156742424506214177626296895122342892009938605474015075227101500363655538659570952851704527325586695912598861449786232574515422594537861584793288498295667673492433792397452776515614968827472489438709320558646035651901118452693629193563194967393645569616749742045307457301089750627531679877051421824205120054284788640967334921494660878250571018178017804115660789512862383175723422578936076377881096903829211190027651618859192957207339613539275736661389560471810193733900809249753398106938145867986877650222871201880861479029618774931151285014207435282885685791912388373824515567111662233751196695553084134629947759662811015353968789576028354367880413212544897290636746105486482554780990525880364185752575297163708714640322882948985660547487845433350022578551558276843195982372667536942579014187783028680251343095165376427218081871758534922521923687085628381265142045628650849317756555820865255980141271702080308176266115729890889790680065634224444681339882781961650015353416974933004384325633542126826952688772145336949916074618892572468923447128430348066295479863190215688385121146609761030963345651464291364304654384751796139089544057768912925052175741158213882458550679116534711327016956690181515784630630683194613225908925158929123758487773180162943070156983741918645241131935297792437986348534459716359918537556284692999046979538497159119288304519013418234357541562877942439124656197391027337920995098939086449458330981449104189242121311440607855224767345412322872293819233896194249771925744721183374952897111315973891290273964801843449460361897167608574431102104948739950905116387854835231068089873037965628642307392869451188568541514803541410693651792128184308982428684778951431880177926597718344582636844309128176298616883245220868923308179768261479343006446812190093609091970351379144965647139572791691119857858941106307904346797205761446153467537067895452898125574013177710274250367412279946278094914101925168918822797664856261983657264974535716669941738698749820021874691392756787678697084385015681183589773101408926018502372641867400865446729831358359393554462624631486275029449192218351322844360534139655845959517619156443216279054696302252950351801060869773253480727073356149105827445493873417999426156346528759149134678297459351625961223658918312321049883543596342585714514521788894829979168947461964339774335429912345460293960513915235284344748804391804742908713897715744054847213963894790325279724401247672275423733888069735289322054251435153512694972756202198981519838789455720576392465147384009575154738846808663391286778337565877459161634433866855643628354484208921228832753236896788327325777393862543808500927087618907234340282404640658793397039437919794449470551717904743773761771480519141786102058978116518093634919336880082628233952507480437499170856937130051056486712687503734674016283954825123999289536917041406371116595587478550594810593804884317064845227514681822849194375034908361827401936348777131451707226601329798287524839620489953577822417669716660946567737968286187686137075294766552688891163207847543938210330391685151549981352626873315268727232349797394795826112667064570712854101670618897599135992193799545995629493810864291300905143777157565282372573199612166308008351178527271414983290454182085101187398293199268701521407693871668538275087543327727700272328599141457729687398199124681172751170875069222084660421153123168445539044244748752712296840026898893330328982433550723861008890671869946111812702067759936881607360266648608206693655060088089683033274762841117015242755442597613165898639521113316583501420260409701572003484398549025158728648711497184455993366811719162080349492675314575178713436320211237872220913277825471306600329316275228717151251926919661094159211992557902828664588526491275009188899916752238881156312775866789336401507708390521795669986597968296066332518680630478057115730915678801243822698145201775852508495322481229946962606665218037371617280941356118724388429832102929471357106946257350319075483896647998444385288191515957285114470313385485951607284328220624379660159744126978199179819851599883551187469770147869601575531099608955842546643195443585515304169124949029866301994298675304944431730495655631131715996736421713718211355883283810417675831006910084135176212703395665321504562150182904