88648523540299136385818694458381508562452037318255380049940884672906289563564546706582452607761742218168825283771446382459822246419176609035634913829850451386632592733832745760843238539736673580517752522686408320653817537672600332221417738093324937773227461410709616218716575741283387338950499604670616772607576355318467390566857617296916401197476168324768523557325930668652919132168226796563357920061086272412101617329241297126946578631941990681701486060894351199888683222799490588711512472118849421825559742180258684399687890343115262424938512945486385197887117769163371421105974415059301279612533259455492783744639134193499268288930169328529978653566919617366918826965964530222425843558714838234208872072757678512637418594437035276786792206527642377371357359515161975275590268337081749471245936282982375666756560196572423733924609966958336553158103927465650946466713449699579212905506749764055436151743797766724785684508285228739757326129206419207323685864427264136698309553614547449237136559696591047166898631570837215365337970179353429750566601732189835437830723656417653325725830076886756797582657767187514243015377869945734049949818146305739437565224728031464842892348992757617160581198842678201446970014478428667755984202583704881809425819422325363145974687473111314719819114130159542950975959235630230797814608796634877246403119513830159184443283459833357396788559151825586085797604944227773792441891429072451467760891196183437291142275773254907241686079668826478855124439060844536677380474021086609629588657582317927727704304488854723473198990615530860864220784124308924937146955105848832707982478166608263298886574653860817758154900174418031465734866487109645915774364092299328887932263169631228461740344573319114632759869415176252241502308729167457915797757232824893392455604885233706849345257654514784978265352532283245706586720433637226321317845704817321463782264421247131286680759857424471172740162541706216138745712236348535399745243980567369429489233655440513836357698176233912134598732884777556243866249987558331577240219148787249706291457370216338615643603016145235315513727153200714877444360252075203987722638478903742799974870328329492682363742263346645931489651720927662183145043156938816476707369384179904532792464940411116179993392048445341915492687312766074661394175436180284339699763734605727148246388973279503463697148962726694278868874358565861655172842101730869050724355848096705651568261865074221578141659491825768373402052623718378847161505157095923213887767766513817933806593136791764971805341933396638014269532841626042616626470041381333577272919241183140893676725506705622127341799553285923245587882344939862161006032501170094179514610402061832610534103315454405062606686907237575270872228925666086662662410758251083611466085249127957883144945189350618492621453311638488017681417423334031893368832645312512446556550651211926920292030821071412476787257318316596359942278812684009659618139105600698182572653273396889082544550455964010126700909847308926295654895494789068918565676275753463265258250188298124177802718928917383994745236174178651958287841085327412945858263851187904440339407963292543930542437167773311824792627661791872134398112268325969629210105266104609763013704776115464278416355760291488764046534505911982318432736030446898253536446198242869978934198232490685575707333728969873252730668690845768772371240141022145053549937752006695573998592868636528553119875710576769028851019225413872891668365202820583825207427193189287073473272939903047870566838275765695475955974558408726357666586703833172744423436491192770706570302058520412271121766046567718503190939585873210731299352813262530294449806827571406292343743315105494527326355315277246525941170377271466702317758229785562901181995756658685296207539923065190180596606041218266412147250739421365847940814937976298326520292586893046562891714540949535885832871333884618872134177199337634037903660253355149391201312904716863945764306855392621076899344059650823415854706127820372346161187872414580585043236307112833701296757724318162236715638805625941428924177158775606398330227051434728579336380110263795057350226091902243064397163113738071608227560767033488660198335449418216981006137994333795026701901113259525412636676536344324380558464331737363189640931415585906161954581845210892806383343481785955709149796289032033733727932622066086304533810178415462158083183237507063729566946783599316727649019277800237290656373339082320409268827080567277522692187724059111506056458734610444864174321268039578344652237856541887331884592255717703541068670216977457529262494780895724749617680396912297596916141287969971587497924996365463352337501381477261403365941623424651891517029705833648546018858733835330584313659440751150319080377586948898320727719312736306114681414445432677978869894558351925921437754654978556855686720672808077597788733753771853314599899350252913026921277324564157833172048423554841199535474599853137871982811447658792480507882551622900463540913802223251767377828214848788805784963482590399016309574211231943809584475212219197963808389663854856465027289628584604834135176880731050341935495085867496866138546523001438170625030257500228015325687682195638093203760829692974840166727348992456542287642013479995824386561084351061163767351798235373477697912384644112191964226523864616774138956703319987174801804676677032526402382974999313483825051291676952655483482848871567628211517948547763785210144795297565120751493933164925513657256013684380611784787223853535456946634689641222662474258457412220423635834520085295178771808395483563775874286633709103559095826076633220691034586120874434016970424532813205837861158090979260935809205659363329731028634312781388144511794635555811646121577235517773870740090246942341064043033563663120976270532467967626752169591579931678682036677404710011412768068107041