17075928345804118923950686956871491352660328426621561183183705098734351299939257746416774176935989116644962208318074018501334728051807168337437499435810783114122712362372931313015822161979867423070883273850979651202749415288436679811425916184245135332749754622780270082082359477667098117553936181768644983605162220989111304642202023636776632479589395082112982162948166200480118042350270210632547321448659594465340009331133439070504803532097302093250255801259422273674560806816441358951616835862477490862758571678831675586865369223517341184315137134479753003628515573762747924037887960919697453542902636624205355434439351163813894636207341366557062437951836565882088266063887499246633532284788523936613480901675835286289507293015979121629429035682113255917118562091706937702530059093523245308091856582605863925082752861245275452631697692026001429683279873974755930493743890274817724721229879163596267552256825178244133110555594762362927566562072166095346376068293341477822026991835324229868835520099266483933860580038686855068103945504841238428140757302513203556215073144382983632738449194148613171998908073136013388333360123576516921810594193893617292175710224930975566248498740847987809127399847857367918273008573169226021252458342621732772747173129295405750166102114306699854020663344637845492712760488937273381592839569640567772829009636678587156182550747327157878954729809574722779185448310826420569436154872752240671587671287155127802897341632149268473077936275408277971365907488640436663506621094984997105817669439881982062982266368371141564506123889634151512068108593479416627909681226540232875848161610822976922695973753813138190333033101140654948616464512918503505614357578371848398485006781450454599186267427361271455279316430869666382448590847362218103269374581963992817080183505759931893432684509159486149049688197555999953665996463515368845750572751641543177081474332750522295773638102441985815014095366373645498569886046969754730556944046785061988535152836481365993342070357966571696549620210499637398969150029592144456465181113144601519361830427106686718407620113029528120713552637364984241822544418917981128373898118859257941316216738290117341852288925944411775726443058161461672877283734125387023601006973117955156621485827222308237119943157051591773963574804064397346096396979136571372404185159745029862202899947065410692850872824216906345732923331850670512737562164663377373179322686466784149941810541982120521841242646015926644467497523904856974624390996063095262461795320109747183118258287527381386320181125799697685992668649344327560212093501874205058904953517348414049072006397585739788780627752785665541722932906947117957405851016893390330916139908901951768429892585008708151491253329811841697584215033817747627487294327168114845472834951569440430489064372653939615872429078838855528026129889533219996649167836115942906250725174915457584242968232617890548394187767254698748621887962292548257225996841212291718588634788723084732240458595336980852355573673547937530143688421829750794199313940187022810484304133878753118269408292596037717929625446722170507674320134976555108290109414169547438679187784564068367286392018502599681567113312572497373539281344992992368601964244479132558394307164207871057079166452534119551436721303250544306740146897202368256212214795632291246977892761004876197299619572561372793309003684134976720717666109572963135214413246815115781289642221316757842423205369616969342613365499639828883638977578308321473015411226697656711622772603869979464111408394727626183937933127189586828405609153465671246586959753405328948782464893570170162932554752325724453797983933161833870603897712451898999632463062609656994615632107679704630128647808566147491793957202216846403826199905731224386216264118098014795795137730709916025409929678673081980558043415063811471245379848122127904463957984917440958624607477484840809328820508563025998361594809407540549679430992430276099106392659196865842891904929295894619726850501283269260071152126855157177217750630551806653150988742411779942907575803237141992247164502424611024077217119105422196788617975363896658383393224523716791888471129794260082225479096175285168522624515953415635099105755647226016324285419929646264986511642325324137423509597193863646520474476659216709651035533832135973777282646872603967608129225031531341756226694353415976617377112914860753054202397737016807998967670995586387151422226101045311727717546974910393935234835559361125462979880792155232446172518432879447717928048397968535197925553692178855384265492680649912325439866772218912359437671292431422378726578353422540138863795862938815328209251768497957473434611410415125560225111921272353492157826600221999671109877145601912846664693001366324929796519538632505445270499035975456924619374660342771788323296733687213809817724921616862251439720300297067991736583324250799565395438365628442495868605460269603700823529407312729932541634958963695494799937113910650326799357139411344361656830269480833523401649781612867194860952259338500787755717991853447228283866248229371704898924033404401492862782159811597182269471546284005013264532326236836179766835273664253139994282402641636925927622485059044597630525577123137149043062367671993014093886361654652923044927745489180867570695865675028811881675452425642776774155025148330303669576886977007562695475219244071008542190830885296136314662182772324329266885466065566991695287463123097263916624878464415541475511044123270466508243633811367345527521038667853278397247514670739426679340115165532970904460355693534902469236212035051837348998219034802850735911391812352204416995909408411195023286764994153785394234440134779376298935759495538411861987971160457229061999958419227021985571597779299961134685243917051756976245998556420653287804964618970621929272654524761564056315194200254486108582183855294171790741385434810337957099295554438817312038071064