312889137826698636904944421227501013502186468229246888063655580369273945454287394718111235088705345122356336191628879537456247296978175231692360600739525721521835618475858719715384626367573316572772889408568551493122654981461912898991144879852654822438100887826802066842522994736517398900097888469998138782155948139635065236363882513415262022029784524845277112267043513410897406576250016035696894729932167080108461738403863852319916335665664717817442258627669127988762596808610069574103919545662229436256051704770461101181798453879333705727510911737901163193874267765731867371184484075162856621985878016229319105173425962123415420517561137983471239628841946552885123962516040971122949806539889139045284112192828407412554542706770831371562414748654843789516267288254925870337952967436234046838436477029973764427371158093668145582135084444891144123995014532914505965252566751941739269478611791561430550291477756224327188474637974297689041096278690350644178352083176879642912489079293055532524590172164027478977864716654280710657138148216605947014919597373712682102798494384119841068142151937691052217990337213625145581870901412603100412608889528317916001237715418201434011308963881444877654120016925247180987905580678317677996455154889733708289051082704993344066332918862115798418796383434400127787754455871589092514953638165712317383365043904649548348992127644142148731978143547487859198267443347916391932271776435624452427967805925826392637792365950823094898483172172951620289061334724988249371831990291965341625056582652272521925807197100103675478373802955031692768985747975323914851227949541554346875342151140786037130405489603958397295708831841046918827173681502667434620906095699229478319231817775113359704695642144682293222096766665440804394825087381235538918291360428070867541249898333356901148978442973631996888925525454939837537783875645210840492036025154702965942493530242107324493104736924597139792808760098455999821755486086873930279173955257325527938215538279522398343472235142689986114163638729823300528673305157271342517501934772655358526025301159924986288748946523101919166969261113351286542197011633697619842216055012045951827399164212751782680559941644898895153196343615118481579462372622919718477393872571684864501498640499424738127429816175651720227943005199701636859873938682204079667420804697812087135565895441613282725455184281552679587423671201043576068132202933595733548219644037384498214510255952081741439288907168341751191605246722293773616474952469290283562388639926226132661223046006131648583137196304173865607220639976543847766901176866317555722600115957037149207637981230158990817764383884438526917743429077568838076152642181683755204264754486067627648231071439975426898756044926029764225297578045882457549992830944612855659967847374176140890585784246651763065934811771687657213630887114998892142077580861497044805273705656518527727571442744357201762597558800435737541635170393738069268757539841754963677793145699279051419375172458253546543873678443331884892608241869645330762855373023236123153742384124588633800246558241192993909790769218946157598130070519112832435167954131420239715759849591294426119497234892785348141624248619152640950498596017233913027297135682635596399126456758833856797557460483867362402444700494429358112895064354713196532558459359399322645263533702970314562205397885284126249761843181911120881245516704625753593375347816435613040486477349048685427233153143996997801810294762428066423424956444612155299726432514362483820467981789831402349149038964873013420746930766930877610533970151089434155319895221561433513685834526456378672290440482057665665406433894172429379546662537672111181262317289927461071239099160850783712549197756683085735598058341641889732936311511679255203259879785220980681397039652023479634923982982785413452790330089024803183797156612956379482927111047325571588113195259123366385413960419538194757677149171188584326088872363620430662886409363119845048973398669357848785135436990633385006142111282733296393852956977113159936747926290751470953330590656763132941333570526351788883749605858871926345238987516130191411562611556703728951996313299543291385466186758769538573987915736626337823443847214415802746848334415947668787267130607448935155191537801838135955929391287659013246769565700660860456907698749525828261136349918554968789354819831769053918918716348689848095561248789121633397127907542550042844498875939118963881013932214218173022261526617552162821573405641464659714502404572982733079209724822012770989509652224719895396634248747275146534701985322685898251999119007733489866339824037400245247590119367947492664026053641633198951653072549365198956596709148696805541493256069655867920484784876851308086886130237579557293293583491409799191635270443952517454786390677137035500327518566265692773984420817482456565402505395566035427173635241864659362736230448111071321115744682810481285440631848934520242058643355415257662201764261069352594159039928491854417702920404519939048720822927678104514505454378826790382221997209762062173477048333708699177080501499289439383248054790191652881575560095829535378175154151747446275976727125075042404462133529731764667353805366657185266842481629416514344437143199315587075055833840687442843018108927148923992017191447916570781894178483712082304686100680857260339781531838245644516889139372623138049966366968837033872988269945521137794876829551671781236634228189811621652319694258637685977873784135737345066508578722715916645279626893689207257884093309513468257236374131330011353948593397643328708064319031295019041812565968579493788277263506170122195983457839829899661174400735976519615153618903562374536098207359269955385631732933952005826169253610013831257137644939478153172363975950958625707434396446878310006382403137171553942933217641289657411439460199558455626676894472282320137762433048689484379057586255598