1957984331861321632653196266181890955938307642757638972550405846851344556336371877345372405498901429473234873269630697008966968770979937326384472682330818835440863975952423228507845773875383728767998461845195579193716115595122452157410556215579176810290165091657399310940501583799011573440452218045904561305454728999949899078169116228029967137279765349867522117788238109744980025936661765479093800212633763708267464321882435316233158321715789479722491083498476554466377244612167940521061111560384043741688659799045379238937205157272995642139434619593660955145365289998068643706050497226467658983905835486096581783327753075127294876896260857638653940056655526811380081470564413556366566613358835301384885498074294222941475379262838588743833997752754126905618881708352678043542411559297896973969452919561088196673813780974604609595135325809790815710230499177781329457816635909796989372614637087466543541858303809953061492184041004146443145278095262265712759800727721365506891849272383799866016287261254273953050193082783892547977457679834852227389254702255937718204831948027987490133043171872175415031659270015818749818407433950628573174445445124169736792926332035595080992026920148235332918653166885313391662600167196633491976626177183035251715890839315544409410527395943855518133122812568146175722250265206711066234347236536724041565822822578976824591982435236746856469269637195354983902208489247185430848068482249770059341477698758809805684490171950664373463416887681280519860932346681538761196986824776784792715431313134033106146383781093984691062116565952541608880238773884845138802740014402904220861254089197289564834627507378748369178919658507835864968635847945273398557403365066812962194726969026923335021791373495925485484671652533416442160293643152987696861702625436755687453687284963750577353838209772831066592448281563772669905877503752012770357875977744133674957145912900418353996661279116949994596415796722766302770527172825859309583765396747239489718579589015428283270924649651365464272751603638223055890383857359918305669270379121194555536187653026748154248774555084642531716664861690388965916361297971193423130412877128372212397662250629851048342841692774383126122234623902695778467747418615316258965671887112289032305571571456839474911023796438850886311973492713891356757694999231207115293191741433362821246898962981081509513631805095449108128311664413235154960543390866944514493585061912885931267838783842103326896265278015973829231906717643390078339162852278592729329655785688951671250202873028707943017667774528039959964911474068081628629835662216344561415559763680012884731723165426330919451585474184095059191994732937518439714134331888137647131004986096025055861020296803190490994978322769298683604325193246791045618028471099984213410257504537518861679447049877536939561051993785737827652276548857721469752559129958027876898188078259467907470226893108141563866477743266553033862774119396973812275546827281686677055797081241826792464152743244911709352986558909394445735966411410833084204602400041163745766359911739380138074243091155463637299743356302769523472811449173125280524405538630717693510891316644639274850497233408598004255110018988816818094243141250937985454958378326786436746618916372206415433987432226242271047782161157707511254088985087389426541886981441286421842861675518929978108417031447964532468313973916824166921387484833849913825617028574768712373793540722495876126627965836658257114829694413419012831716051884204897189687413621136528836250661803714904877968672125565332894683063561312585301677598588995970871762628259334839714738073658289801678985911678529181626873592665658016037858424824756059606958373813569733129851584529481665454434006940370246857517517914347453562061134534419822334942512250583613468992679283091009210710932193693579254332610876697088005226794130673947918398275420732325596697602680479745081741926351331776002999348831608356883479913437155380751603948508771318841191995661933710178193025773241583228202891257444508185237808528762544691325946247991608633069341611962515868939159513064855361668787477052674811116396063649215196187128533524122118151250242695548552348032823729625395855812234994822545195229523038118430736191228893178386514199931605825739021444319493113189631749122367235161448323336839778887222986175752909094847373215080447398561835975822319157344164974567330302714716423576618708395428965205268930024087352633196439893643679480676227349971910633949841673212501076327912021691862748604520800670295396645599494533058116990419881273180367708304698348803801889429259869337564277325363899168694882591767987710216633905477546522278464825322849295263272236178416121142629996486948334229075544296112366759621510951832877444868917982706592449516172521760501187146973119159279892278416873548114559767589806601705190888615462417111799259766531752612540420337107843250414195966511740697237909918886422485745805552256647939894115517014400309089274695718659832732248409151938682595332656740569834169774493489899962542071695229752127434387406478195241185560098806582812485275832075364985603284989434829156374787739711937144425690643576652933705484890105528956173289702461715317278430404279407910353629116228160094631546877856756879256651156189314739060321377870245950291336486166778581334490429153341066654373272434481375182132736845070494240370184342142635168974658360536688185859355762922356595119197213040185299069153743123757418774110260825186458550782563461868278967132980753495437631883396643086774514408294246982695140297725846967567553862674662619373516744666861724245132785390663033629412919186439005955417834772773249909278520610338897869944599445976166858265353096247668620938334120394575344457662362943862537290292030151495157649203026607252888298264567539081162758857446227803825591272767291118792296465730658149732294839139087129149581849330538824147814201832205150781072101185