29903634829473939943982185514067762257884018124570994757353094918249368927033794635294605753466257870126810355950230554099135065607854807634362379444585556175279755137281561390909858459304586366553805084437687953299285848864588952719539430765037443346024241942828185202147100188601129610546804545321558074371732396467303818277248121994513877997493158973012855665876733228890279918124986149379882390155855953928244796333430254262608261140913811751762371528872539544572144183762419603742875291160431063665747571415654867813553369793059842822128694456969423461973865033948351684489135934196397591749339513273461535477905774413144453679458802774744047274672826762942389449356685778796995689823128478533556819525851976554326616396583417574552747413243778889325224129678671795018647103833424355021301244343531331461398974313773154848059150275786600728839984967459390514251509303732197503729644062897328762995373139577523578712278230316481198364292474437661994352744731188585924387096374814664642493227408261457251036512447493627146859749338820575472212001823033702405777676211952893590637971579910487901572596256332676928490387771943987128594755004730395833147603368208630364314043655895150969755841442125939951910497502254202657538469596119943954279432051788949097130991772027534676421786992392082172669391368464628257028394374064661225393291361299189016305476692308920220578854591781118184215909990226302889543873908131783317332535759819546137955578403115347418595452195125059131127687421171270677733015436602642775735457135247497868774811081187236195551618787428277476620756855020646546585219165626175023412662962106281773459681796641836426178862321113153581635127854376811425016460760994898124667347148983842025682226998689354556402381956299810942236123625062198129637077461931883495733927581550385522358149308484662847945914394700534895037433244611657968095375672343364415733616803704613726619243890391919795460076991142822617324598547832171052557325758721661191348033548252763061323512588267658557843175565251676765007392452654383308128996098495887206934757874944451933505732222435133345568182465188069313528711642473484075376148731442747450088188995447717313023918444888235890146057695714272669184727527993896089937834571318643155860222490524056198697164937290394681431496626039719918601716575281309350139854306692616215411122526440599601053640551982907396475703843531595514825223837669175723368319740306685185460942853822389361182613690184820066342964882805650618021286773446730592638078585359180869396738315502151979814103336442490004416717422687916867871563081385518045675568170376554038458671969558443084542288169642961111547405453933829431417414418261401980613771101550307498149132805097371632862612137235042932865910320484653824875823243168014432307380256871219956869691886873946623798451699793387223954177840327304171955453808151591505728331253188671724547120419834891498505511675381350226526207473314584202598267102250650777537179162314555023737799353674496896529864877281734365595797463322992599858382439668983726865518346748187794577075784642302671932683537883362001426573019265627485024506838890396705437798578415367840329111433159384624403290466328877241890635173853453722874671148428298524134668150068275559661505911554040138973159494573977762447297157428446801455054382579736745171398578784412297193891076648541305460008216613994817973219162195624160787711085306075783884210148347818981577204597935026217802485017694210417319149808211180989936199153359152510564671275593966414100954104830944886109664487627505066968738935724861996666128484282055827971905738259102432335062598451102926752559506878728692736995582569419476615898679115049264337533351344658035472324957390984152719747266994669851280733301555649304235851622887993802113964329551717187687628682141447846334637648115671759583419707518945488368231179365931360196799191311244243541259543481153473598723884620451382829861174975307728410477896245483968897129947258618389505004997787544274650807705176885429053257726186280887012193130186694559460879882406378237826722787793150576578166930812827710252813791986137710232150611074806964435993966942159111109836869424819038849487324769526565793549320996443890986847977451915395383278998876397456068586103558745827870821417347722339584173488519839776759258954468236229530033473695804234354902552991228386127429897491059248469445774175457614942356575099841488718221326542289159086864932467454296158548899354814918270779991246876763866653444516222895529094089368918731282725989573457857761777321910645684362185937856504179215977050422949164166926854955779336399150898267763591717610885500117113767293846915781729225784381618697547545264655815935599895644994088561768402859024226864662184896533725563223558351178441704247831343689527528801235347629744066772484379863436834075010636557216703979529597153440453148384641768840881640110538302366381455678198512792651232728197825825034552531567808738855575057488234159007973050701100114776118152325941668128572219191371200739554749114566654361632450054768366424745951141387011673593822397793838445861465312717341349528073036299118312463234823929467614543657079237920969869679411675894337187322562722499327573362986230900263041533439788680496427107327454982294843959508759575908925059086477270574258483395989770904532072557336617272038380544139303341473125835977730617371934316333273651337642989119213862360594577949297579568021728080265067479451974454902762445084747689988975708585827947986004480609598495636541150334557364495216221398418009286891967123804554167665667574851357033256221789104648936050903801877251558203679132168877912261398145229858679033217159921793695132747572373473986997908070752818724973378725429345717451323658263264476054410146743228113587693865426665705728824364998171079904598046265186348980471173824763889604354447527171536816855802692437064007715213401798558466164107