31347098381881213840246319365260414721869283423311523075866347754533278628292451858712362342006450983662363842675851840788087972215625263829454589815293862410977935749882849318638888726624615104109837274328270481817667666227324321307193061158069801806455755117916021481342330433481798657552169891061607183660975044630191085723835497954678826355589044543146535824594467129473934919271024752890148550784873671181040910472363694475012275317547172365576478581268562564369412856262789389554755587191166429977376225294844771914317454029637772355944347615898702922669476341877559057908117843986708107599617554967740750069185193238333246349374237664825658595146865034174787630911733724811189622667160882426418592305615862684071463355544323857658233126796031641895582920920105725388993265318412797478196143586937311419672922477849225624964708331928951756283311197459989503164717832914777377062188681893294814489564366093511789369871447930761683855079362156003253511848378220469335726091576851070426888734422235054665106994094512553364725627933531436574388988941433244962653294918631336129113204156851210347205696270628453577987267160942820734838683879861988747335100547278569508208067675211637775055967863527884145491864460221626482619328131358816404115402464528289622641958211519441788871715889037321656621555067024573018349477159208597523921835134940935371950490543139373646041778459110609853503525149087363963675210052323684315318684474030266558901642086605717364295561431562444395757189343786397769481255786132428940393626632218951254923938933375071296002124568695777757045954606604133172266228161996122615689053231788734247171362202351985138296785517760268078147143261357186821833415760799479255421577759366741477384276375267738118308987833353562948120432974984573166681658236765226109583083881771143618105438718462576835962196387099566658123963869939441335733036497060392953332877812376450440872624865982113916150379288991444307052961891275561177776972554515587327473182839496307078473848922696725112597240068369998912315610038116582527788073519180549677013773615993449834184528204792185928788574187599597714137114575840225664179011964242645644909719813296699045201969091045366827621886873821026194958338607982518343183873282962212184830993676185960793358774094588136832029961692882674940191917597331048144119834543185869378222111446330611984590721417220056219176169766159315391718097632488239558795192137582384489141443581823995414446796905318429436573427049659161663654952479747021547596165806885488262102160693538399760334678230985683871162970436258449943118893121145393553633137949439276598134698087875237696204645632951757574636988348984543322797279312580779240644838949944581998256626680377349938499615994151954443036967756581548987539508914160859556849268624162128767580842535484452720117221335898455235244407941687774137571264561531055539587417274583040574180672059249096344071430284689972884215304859682971738092176466820166347177843023286581452632589750917930984513136575286940673873646287551951057951263791261737865034085391940093385197216321248290991221383967933172171549766492554504123915849537925585514404188370572942359024282465732741945660897718008449792950998915512594145021621785648140775427711793333564545671799246669776922597708770429223768692536894959964438602959574294227955683524069643932185863569416782435232916068954335453243665857585131354801077626151422925711697181821527394986177464551449124080037714700805615398171871842226883843980330304003836227294188153354427683238880329947794056835538205018801774398915289859831744467103851112048817667673863862852388246801231237051496148609293443103515137054672915760174409175678097053579937894253170853286698342842767750932779284237808797606343467035601715569635476289076192579528194401288559985962587386282178197386495418859151110664557876783322111341553987084708959784345742431947992449325156352276755931197109299616383656546106071983119573952826651944410508213603928984328525294565370779440630968471817172453581589965566707869630313859741888523739779077420537161787382268677887039148955658574367119254957504690128743230350462905462652371784540813660247898509296430235415655262841519864463813345716017401936059702611304316036844492135347083215244899387155074998361408381561106203628094896162290479262991794946030415824395731041356507544076529291871290385717582668137126065839468293606576372912377779680875073249459161499233176074901667655511457349808131627332805195757578725139690850728613879539604596979395584920835198841013340874031589246732682858219761075187831258202982669512557622042598846398324223880213313592870461834434124464647057920233869835902548325736376729839409573669347597626816428149339155957683978896934038340084941455413936161226971938486833356237315245350823592416791496013731809479503177818452775798539847779748769899728401438373832189098426793704547142391304648234567481210255929852716047825652112290286878275384387522650699076136114582164892581611573551095622977755699160517954257637466623575947919764625576984598822531731768214865291744972465596406156438956540729678343416902391434436701812865983721834769008350389313868359703466503519304150268496997500135914645832352472040536449799830504945879235574441262929523791401034919628149220805284715364776825745162819970184742956101163194377274224188982103333621447357436897129484412013785298513573656137931406990825277518362936187492714264335589161314545401721540658011408794567214197169062576822310014497854159889829196792887354774500252657381229335839655571265869736541176419736646782406139828397246647796572047626516630163809192912428784998154688916171873390426130139211627518026412918167735442923564688304814815013234818596321687386453374874629189847082034421833949720138875313150537577959338470553844245547689405166997925370466605716329915563271876563477850009358545314795068110848839394576148334758902