579748971912313728448790334217955442563743547254154136548011886187612871793786572890531258919806911214141607311096134902522034586222238161352213181798940465824830349223592204751246535139384140497282058008586202382219260266175149532772653189352524214627970685528662628161136803420122007115580107220185519804582975290647465351167359585644329482065696987424641280565431405572428567173778752988428024865695807170420646561815308788580963170626209449271994247161909908614095075292953445771902496564229221036797872613614970356627809203522062684410939714002668400950333493668462253897842764676058651026340553107713084816904145725267333058494497761458523825194085489880382630077123789441770318985367136818622518242667676120073040454755058593110310765874299313983350456026869349662175324965729533439110203597911229901852387371967506182424596007414935299318195979626040920596382977300664449674821904515136230605021110323936947599870045678599666038038450531019326866978966159766003199024005390417941951161798303654031387501089282658051121734373708170293276132678586392058474013630031728079423218517149069205850413770663982331119225226999381884694484144309469385334221523870343788503677454784129986424241278635859223554122911156471566560134297239390529553682152171261704780839916590625612336345975641224251657577587417951718641854861045176468105396087754507971246718923969151808495147831859250815504370694524764170193961457286504536116271762177548804300662383443292648424995131758750733670121574289070847740144806778949954693633979764266370631576717752321122598633201263075965150535148412906585197711315077846639866694724752557878383499690252002470469208795552628754742473638821865045682673728655234125771722765659794204360755241253517351946973119374561321848608966538475487132890622763632655807961631145088046315289769433126695240071466365786248857386660229735590411661422288563898193154419151789982443317329284192145043251165425081048721692477614672140103854994531922212391141547587784686415009782133020748815386790335682552047652857635642864849596462643195394865814452555037761844454193699237363942102299376198573951908047249361776542416593373181148318783016052255473619008273816390187614780264729067561669204652928185874840135311642058008899357243101466960861774507337351319351875340522935187710992563884822820727525729578713570911992121782612660373394548629058445633775169759646254952654237095230249868859277177893554108802251782723196671148592770985973078454218492729212278393724177120971566491976271340822813658282920637742120488490704257444324832491882831877880241945208342201046934421323239784992180814021967183697831560890375393684275141462918836904378925451994644348077161151962325215787860042034833229737032707110932281900620034445960620480986355298161148025234035028619662362934348557667928665818164695007461346345776969812784670960928798091640622035852509470065687577080518304605431841912632279856833371574787712867388386991771358871016523314280965697696837237950192728808815968916271997601401023364919620850696644784487963744929152883215084595167782562002475320510565932196763926079346622747873672121914865631739129211352975957039801715264859707918944858433376412227662990344146325378971759768791920117535130526770989846519137496640769969123946147690458965394089358851865577443383199369842072147482106499612765334464695765659419377165192865807230427872077662289509282252181388497286146009001663526295872511156636972423610354569534815191495191319348336963304419898739672085631659472966452798412591261149582367668306333218734465855961914469542933028428212994275965048863858441593768348721335831699928124838687333715999416322982741183560606057393048238954328089892788554641153846603774311998391224395882093729015578167518355684667053933187410369623470116737113449806488315920748899306605126213223024363843596281513952096058155857098365783959188602147616055191785756165854193088662547270720356922406241599055937756020134632837545947383466727332106902786822725075778866511162342372178011959921441270816858807195823643293668293647983498466122082928388159884785684192668524022868010536397594989746939927461607444540872653826477852902295152644296360371370336215519695552201848792880991668278183799370173343151126798446268298957951643884852254899234257217732241042024692574548731405619684323348687579714455710894583831545312136235901136675726104187125977454528275512887699749187531661178420434060172367091868343856541361882874396521439209649278810362646306621753366037738635640642279276646515985128923211048995998930286362411697219568757532746954778582795654572969272854226836839217745652159185503647623652503861135237616574161370598317685921286685569072278098642857193826832823756955355754458482188271236792615236241917565484304953265513412357253786664341519662845172127513453870698883380289788180484803148197498169733665349639607224708798632757408194758603234400546128922880315972254538256489943532392625569936590765255482174873878634032195327683104673466826384322296892046453259636258134079288721853979351943419878840758544104883144651853996606919641939801875583862890212590888997211936406161288980986491784620456767396082652351297732454683349533163121127307234236951778573716662248896638169340799336309822857726566323862687232905378848008331949051656285368330841304048712631034222519715382195109960257563366319178943281760551253055612621686120678245550912043300452552623381126594278908433326103147971584936228436193322448296489446733560811723909296797731416016190896965011802991263339275164262114407091854610716863063396571828008738523830037119136558356629888248168814335385371249824839371769464495861812209083282159615361866811800230087271557521851913281178084344448926869374296576499118377733356195523711969518836865892585867620127921548783375573379384958183574757911632532223161668145837901555126354703359516463699702616539903983465293656701751952515336