642852444896634243721418950582958397465452093131430517543782178256940421583140591935796821901074572198633326224979920471936969738352666982619480712552768555734674722169328173819237192456341228919340986336162261859823620360173962822772875560971611566636177781305957465326226862716347146867644331273144782355782395636123145994849561404466518645596040485519666130049274998820622236536239740428388870424254856835934629703205451906916740383775702891172327028104072313926291182433775825473993428785504290174573565855369341312303115930754154415394047309334149835630277515161263685936167356705595299840254393922504808831628572456725609258089193651381573764967278986249312209767857515799512893654872171691418326880045758253565118239309866803088532338591159884242468122318109568657542642112389873702093985204309016406057034519413585268055562123212741113646498500727668212853655923038368886578299062104263876545206514782022904778578375972785715054494406289553357336870137084435264615297863255858689923137467606780182905279363531585475307114878296950747529891222526416612295749402071511044235086929701429337547260972594441096241273984171873599245646347689016298553727786538907779658983742581734232705518345244302211609536529317033744906010787551147331075674469370064225245531935173218442904780439991033531873347668498863391455233780018727784452540134423348975728946160433296551439929478633219688755609665111867775604325594887723708785789052759279243296892444959897505714139408157279707980918780896090823627636182114234731487116730625174172551041818538473558853289268473746631889247178507563221081663318314764753605584735976215554935915743392051994978113851245076530035295278794464163708181885989302024439963961417931418814353875025106636138229232074089345520860771211332765365923980335472137044459127927427525037762142684131647660995920424268628178376455864377228435160244795191674117652577286672022295186448201522517535242386471298934169711576887991302550398919481178757106051609879664169178597223722994513183541026624769525390399851286526393049128398607940364788168819744248840952260611311976172596881666845670631489113223294919986932684974648973638956507926767883065701655911683376823907021676663211462925060517055828741879354661324093938625143334693817531923863079734161211038909992097547904160758439202774016118929733397314191903317166150726740838750866053189777511906367746578153546407937181517928965915779350915838493136269715922225379893602325977135605136378620537673704135157003928536594647005062140931485692823693855068921124361775169598777412684055898754754842591354575710483477374121463291259739291780288203573913841159281877345910339432798166428136357982019445714981098229956740193250561935296797587666993992372402545427310070362316278600755437247578843816241276867199811432551571775503417435426522688678495679380271687923975331457713706940284433386671237685249165343948221336233406622528541267748585194145794979915965951667829722968241266684411730683674247687875221955498968524454330011974849129141662837793717133753205063992448941054993524707690644008210269062189499912944884427328549105238880468785256746167294794568664112532649977954082525249761631375653488967514691629925656433943316598980405901848580378849312364936388726745634175241457339718412355455601431345479264391827825984988773999990837169031577114074083535375602168954314833479969044882652947887021475664338147156745728247308163739550693795184844997147239701116011663722276005315548536838836468465650978741305877620821646754334909122389157316898492306373587963694834508946328596894250568768823785709005605881326442342754628471324978498827260025659579615862427304176402097435359835978144087316907336321402941257878929633840490449445524024827458269085284028946429024992889187813817462749961543977453584942853020549269797267308015577289147048503643328227908812644791182351105226595446086926524562251916544845547752572926474233809771296466475723489124643902351767221957457471218930411036339425462731810754891036981062717491478563323718133555605791436543823554732812931865582358612974973568590212763544774536454895314166585504774608945651721388919913172159843378350287913848575601086799921498463224225232731042415372532065746810014714211832180422646847685475024893415411731883135438208666132526747506845667783213036197024229271451967770497586552357298845468196594474219432548774063059756781845288996752354239331420337669382174674814449683065931375404718338165139794265365124975751222989628349541313108455946689537963244698535876628742568580134254793759541741567483229105228961755585417956029783773943581694950147045285312610271969239226921566970044068372344850007858378033312653292451603067206541265957491942477412843327314656257567875754103556118338011731292136201853413403551787397964473249944577215238888417847617240388769604321125485874791519590843725736245188758207466503896962505296867766654040721483028403315860265788632371896279481199654412616372706013707941125239484319946162342193983024409243232351162187593496883393911124200768046303807373792072121978757365893952178631218409739951843974682695530459533616147584968406161192998053175342786485051175629542524636293199640787360401317909236547386036176584561094216609593212306603264322576246516791110770678557629568796083357021728198131665834733068215642477074845364949293674996359419946625685560107382903970244347731855492886569761113944711479985978758924884149742846022123963651370265604672360476144007357191279369184214661517430440182532240366769431413757885636405554699594842207245365471804736127727702323450370767147202610827543734288370418873170750619341721121780960205304628646909390933425371034351344930924286484604038235926119338927741379613053686119064908780553343465822422983476219201760296341265393376244249371356532158773873244022230617727089869580063704583369344792125632606996738186086834591770312052249154233916