319297301968531070435286707848225630795995933515071860113692167258713096041308715297231495642689526523399637488845427039769360808727668677458232621052815675400317512326337586818560242979416842787446455021787243547331096417297216225918235944548360949756437908699292043660846309784108696991556769295639164103116047774597794392592579671421879419756491261670812584780568896753600593152364294195273377638368374775344941616405436382532237089888715357726226181058876346882505597496540279051475884669379422176635661136559286370275461832200317533532560764153055356309040348698257703568434083330029186288098375537094384200514646509398471963549140440184712218847844919470269201556266446713814839057745051719398061826241872985346620338247371816690193873133178571498325081179240803593799395967282293943958824223821893113950733445760825079784039687419064033263593157617792909922975353062456767963874592213795530548449379653252881404660295111783006732810781112945799193144980786992562986259549616013822613373298332855615283495574511806443990196367442301192004466887468092192848263323126134729472022361020986211628246138697116088124165989914215165362864646154673004990025075883530133742988322329857678501121191767575721307816631734617781395146468280188950145093598197592876614526859811975032163531051261742733662572480232329387975715411273828028393189242967832733357443945147587946197239951863050440127542804937526025011580586649837633767892430443430112028397320114672388783874285040767915106085828251977752324651776122728141530856019517265844105269875188249633486441285141645775097542281241774945125877191393637354767364798881646506435453589751131208088107431107975464464118873126835206202605319355753288862228872139210825025725367469871960540244928933856049817828809681114361607540579518721649718231432827609710168762743173328370396566456812945966848348559952315292728683464096289959196051817738477089898382954035641649264522288064325816337610626685372130630778748986368616421390269172686810520333079588043645055455386165112159018875301669719657841247976632072831199103823844586145232139872502178768195641287588018025106164275235538765964327087214405384171410747649824076931231111613583226661891432570354437826125883424178038552668686133653740827211502655723875176871713791665318255842098877234462184253669544391327902282297224968244214629336381555901764475407880976303704164011123363295858625827917830837863812338629343771966421587481921770059700909120502970244378969636115512721268434857451465552918678652018701399284498660426779370421353785791280119158530936490747505939751366534128261567047511568138478500900156712037510374636498855180913756226548786017250867285666425807569418900877850227576614786667117961845278752261189422628458369257957209498939379658951017452762890549783634620090235582753433942069786818656206970174142451462565395955972856969333073893529897618147036972797104364228539075015544988311410954640445528145832980756462039463174561828230206660446275323593525700840214939016954250540870161787421571051152845790638607963443423345358180401980319290773039515756848110134871689772313162695770468790918395530139346926615858352863449679449046160115028333838212362813194710265644227220745592630222543678685969586061821818826518596246544143498986627250248526869391991674367370955168678068201523872189577317912255521068307841406358374163153658997848350950127654626816888139469913292726691257593628019743089305038511525211722519884776135200820527574132810568726657609733956122612434547183611472446424563101543347462391565796723109595133871447063148396578716486900078376786301946989654512313646504364433815750615056002832594896732462222127364327262078124241785568693968315379093301796416573638184648684624252118237940321791514544399964105055049160731061609761481856079210386237045599757817914603445758129415175757628869195774192559494453871906736719519471461938598784586594033589530612642969561184443527271536346244430301989235115431832849626547625907111479810896848514851646079879827044478698424164522365178528405612962236582113901753566056267326460475669135249519814195643055155864676412089256936534527442995742924384400090274857450447759884292463532335220828614299322230150818403910935651624514431142411711530945926784115518390529499795261311447567534678872538918653357283357135495995029419126949952701249224638713351978092566941183157171138577067944978796073607680423822955418136675119879797361184431266618763093219895586856378288012701056576809432115121378365978058874416040906945539377244551853726174713401772185379135102507045957001557173235466524159218039326067281272496902317729654714797585050509734455936045519633565970605334277549528823231881475604367532739733326785779982977374078515986713246025152770944609250307978185016335173526021859148058974867361438341173763529318157155040371095186056183129924189273208495729256331912938057906202016677399319168280385442235543115981127282622645812483263543918975931124721269642528075339288222949294350963764762166073800557965644897919934281149974238958101867523552439727882260781260484618637287662062636720566869316828438256544440328233395444900573885928858320736035197211417174365973798454925615469903800632972915934875187708689497182541923716762505520963212562426447417315119404613483519316421356835975136306114713959033491513176211227939332002424496988768803480066033270294098817615053606291712292854279533045199289955637229886723753776013803361899064989430078756610208494111897936944299657375976211359302913869304113234842274047424241253322995385191956837792408613611893644713632622375248989045226650368791177035064686813978982276495325863395559290757239542785305868910589639106246632225731770673418658811907103429868203962555478620829416657843633161592389142115796916566957412310127497938819776041389351492255312226978797716684586670932145235583154525476960106260374682028212630518456169946545822993136