766889597572260378881695966877751424398776089663173296465921153766740654041922215782349234941425607732457467341939641514657712921824088826745105737460042256950552413776807414379434084244939388618448655305273724297463396279374056274873306491743658562753272412420374686498171170854266252288652894093850259868962031189175427746654611215938726055523088873757319716831443536118401794242279996443533799809528137921227588614448196460562958132526914133869622911756796993312873249202821688579542135476039259751141045834564036371973681264192933228525371667290011184733891853895734106737978631622662098380688286034587225837329010966079154760102568698064202657861045600548211131295882848819252183645818801600593311158286393227391236153597197420824587982023637940036011221526175051391683646363554449334429726164871946756643161949393267821289743762889999702636560275643104766720662459227187309345890757183327827192781108698843092697110761375132558513559550101552736601442458041061350636588320287500766660514976346363650573408226477478646813491135990291034348708956358994950664990975924767551135441173804051854075883815118633096472719856587594619898437822241572706305441181487651125696323821844089789391474163449783777831112370355052638734447156686677469637209965642374825217330787435010287929343553403927102023328861523084240883249964850096757492979617645746315755451119915351479113611164091248660546686396819091543606680512695266405569247935470682475178408722389079663828845054568430934882068405832674687549851283989922644272044879268923778720188832785843199787870662832823411084221996667329919109487213144717483588753541756461312870146818699748772065562388547393420751293876238993596612985483653930931141788970017678095457095052374809756545305239628915861267757235485488864031662696632183740132892732002748551293004340689625375214528916858750112935972782408298911892797025897927627701410461118848330204136295697795399668969543086733367969108883205159557630920464071836828832702091485941978637608171075367594931829501647544675661419121998572866554549117727945704150757350863328390645615583745187594238316819610975764125856920972429117601205714256733455118601802365876475840328788978914634547650944173311212585674819442601585609685549756711473283181911483545556689972466549772817134289883264402544769325900666725113596127227768768367143428273476241208197446528992297125515917114859888880677617078825378642124608791377683798950549183345151735015264398498094442926223619031326587481529856731583313217433884642681945791363478260148451779267246877252469140385567003329059034747454392328759507362856264846473204682415965134103594076557839005970533693984339651691904889933576437153976972912374335088478846567255146892827368136298626624630448000671235431552361991174769642864164238649437243991421264891837419133880517111789853461585403597099766329797248285510511676688128103636492763465038217572212595129346962479744635498653351396913137728023248152590967412434438644339502244059002602784918995624222273038606842910064113453792475757694646635212632676938498591704388225774975433169542579807697185824621881257710765515526738499733105625405596375016621727144139342377492266993709061514662421499025231630470380552516279804466121104628806923906676195939885456746541143830834935540231685986396200387304658595086619912215842546297139882824326081347268437259286582086106911823059790987687233874283411598225103420144388550685646112452508293628414527993239078806304121379009327070845061250825696224468858696466513866782521697061582983301880013556697027287295908899789372403318183894470963111428205319367896750655254405031867919375924295117752567675699330794331629984356255377422792308147732090064639396679525222236779074472801333477101456110778876543361241858922983185896450477852931735303918569774502320855116061740671412677947499569456668333345867993916125114144959554696630379727192089766986976398148419961922576577449837118295117131763376855521454398695962068675058667743741358526076806559584075889119080628417777152709814467178145330229311742745537766148164334801224726426846254590375523343370101162110518322872894841039999004774573484987816537045038392183409679242484156563527867590247724466358362692497225795577051974161081652865198076933034691232830118280360613356446886193559312695580792783625032086930775023806933218369817793180862233878510610257513393695916925406513920765995501153329324688925991208360766193908301809261936359096621447863909535149419571121571814222832139049045676340219628360795510338570619081475694253105890989540507460502562931297159546388784206220380626286990985214518628634251451491686189870077276452664641812426540626443401615065332353829079645157600894458795696322196737709702388179705308353037720393563058852410253587510255674504007338738857954691179837989959718739153418955899076178883097579952463335816677264744813821884416729942316782251625588969413758437632603358351904977101513966826182569891440157474263446781675716024728443535150175266894524539473339685815817041751921377843211693023782979525351417658352637163146307888551143681814679854846107238269567346503383105421572639851298429451239635034854512272725937343201791935706263698856318736010922337668208826489616459627564909712777886736370424583860975873885155686456599299138697486021897030316013988333616673408168756192949107948631968614851238248468806298818109434524239056979642575400829878867321395944254553826419290204635758766842472575596974162130690962657379224132721963512746634387712462917484691861150157775427708420259876432285577712382674046719547571408962770682428434476529811427064768668787134528388472761346201802842289383755763294877719156967875494699086945429510804392936773287844731334979013712663242619669429729143437853525366647679959277238939258464332348247140950971796693962485079161239359378917851780234184949324263192231497866896335305919290091036212739721414097