71582846806429264484623215812455019518907324067123369448766387916288252171040605166991177993697504711687959521625337169300585583295034954232502602680878121391714676567667125026493532479744039730400169228576326818613868398530635178222145537352547322188189119613307449715867744514643967635531147690967110359179878566553534152408019651847139815418014985538327236312322164266403845256085306140734023877493868717126004648874703797623218527425305720753478806186671565396483434176257941822411936373612891772738339226390117723716623078382297649084054671321426429363022262779231354469145253661261047917792252925919881924692076477831397284355865844762269630406658942614487851539292486512827516127639469985539668355263384034451182934554545774157034011911922748328524320412634032115357866370217825545539677958097769782305810118685697243062953185847413391384633231673912927676567644303029702796476141421725615215050874748784120053370858070273884452716030954606512648391223569343981183130022477468204730603525721617197905265230361717207745519832970023538432341139019916858172779222246621013530715238543365526369117199163166626574927300558482189228684563622207127153176964870314488755625164639696012378296681464739984944528321672574475262095632771961695337359244894130419960593207417688208654901461191087990149819426405244688522320032441986774195169086614900226456614443306283123473653544023489906044263801429613990935254906568363617143856629173816526674232712722965190177936628083888205214218909171991386722053163389982737671148865786149833928399254524632196519092577991793722589696968661206127221622311857517023866465299670528124224677256858703286476325043504532528365894871728837410292967525685152352389833283897572837495542528867235077661393614295270548578907010456663065021368129997588215816785373855042573507062219583674969192345442280589773104592556600898481775933319588137385977852205464516111371037957987346019903574614974527741417324360332378353981750238395620784340372861401228576848072814931519666397953888022652185777591225135370641123980321266388909321453343467860733297324363348807599594286937854956692373368676162942844446921536533168911386394516735720351691108635296257836290362025145949687032519850779928187946873985645698570465701539535423809247331613933016388383777965018107927215533191428281751129130112182379230510504059799111602990707465292793313807591113053837280260445661738588050889268757468146527191455271068551711172959580741799136801904444615384295964275837897407765704673853164629367390315177532183748208783423972843886123277724588534305025631675488814661558606835814528852109266427577632055927936863151783007527722082743907557163198222627588349209278288674460329889058974111595538149805374272847731217043084639571648759477981686439164629028118622970693832816553879854234325561560675315043643683241061434678521225989995938678522366363543244961564234376199281158039876158490843966617614629948746681476529718468447081519175125187430357591889359744177398583034884406126941694724555358661308989235671553841044095893509367383277515228782452661191389564977808198070321213560339415004776928544892226863882903576101543441878472235600040434320192220736898341199520765926901163669693485012666913541237720352776485429590744249174287598907952761799831142689023302742547027476162797032908772245785613920849634974218005613730972736398336441528114302455816731861275744581348461689752784388705510316439327230545776448114476615905107164912617297560714586666325892054471695661069535075169856126828675911033389585540235170755818716762910075273650867951599424993297196731919854953438421761340881409754384083374572950111372713359151515304170073063504235173502439532338565998289537991944617541710867207326608287723269540108828022296560113869280344252994793683913095385048534606760762447187236763342807481394055732497993016434700246884740860264985723777571918632060583864664798282355382296054358318591524225623781621337994092514896189144708893897635468774949928499945811232403199152831977825992214819518603917342199840068556902589375894709425201032551958257550912703978992546924414532032382220126696319733386378025173255537675078523368951453150306664962391214628687934529895038992158491419822647077989478321847584764305149896574106723770926683488729336525482512294048382116996592613700162997662772947368402693738855501048183538886972215614791133370507770982135449956318333969262244367860398629739338319977624519970663167646609745863228641826386682239414909733348085423667671679979449938893751209270651716682688772974672560476854167550955317851195686130377553062497141186384258454586494283856642713966354887921649166557511672789793416719618705187161395617754557162245917856198777669113844466185753884813435278601705213937617456425935996113201571583912481476660327822174847396747727233062071016989283088473963919204054628864621702513921670849337760698818925516541865893113367521869392096739619819732083966598514862019847383290917729016866805239207618192610075988786539460693434336583629893530161698149475455928070072052882426488627175154331236491626027364088360566299989602256108501298213248701744172887385679545885113704257394311515364826039238535042439809151092493848676172812765921536983488439039834327447796932783541912677901917752261894811105971688380438682101538159213810555057028136601063034281664615835553707196054155785422773032104924631123079687341325329762333324157360879865580551719885637995978669701790840982987777058016574836538212975685970967465557437316714811856938420770063911673186255660118087608772271513157087365635059314588838914546427377378119898688224024304393267148166761451363668964897687608044313831185822238244387403449745130854842397820276639203905259660308495770768642269654546381310783203120133526627388532223582949481134724697766684202778319602739666124146656257116891379088441283157467828279889887291441