893106814764519286876385751039592584109283702317593774892870589694585169441274115749612264646339958844768148130828777222962183307115498466789362789347826760819825714635163774795020900591199357746789895972327474837879308824897338895828369207453790336629364850493141219688258569022949728635346923891178857661668426121379835860212646496131274621422950108454326829431800496983869614729238369613770255538853725925918321997344503859752319935282676792634986572454214964241117954854548369905233307104192125457256799228940699036550259100499357879905177915346163884237996288161944853526261596156920532033488158933648091707161715798968375282816461308802999166773390983645903617272019929594122449997519693547035515160958474272977387785122039703437989576860376989274344162266600103872164810596091723267670835241611772437827025586954329778646849193160846119939577448756928459584841725894821201611258832998373938508678286826522556667180426209119844966912124422795664572016517131821943816625742594145370464867830777377687994189728480768034077557848984766673485763111790111387759172734026999222402949229122593153346819849617184941187606233044669905967814035619898731256236240976183563397132728663220269978900679931577026731906962052609057413896961717761931405372642355482426648265362275177311289570328684524081452812220411992508353828905179643931866196032612176456863742082374420092024489453958009658535578115015601545865256621465346652724889701212677630836466442774734787992122924191284383760147418183343717634558895174865930424914616050794769671312508739198420287182155145339406989755848598133735603637396175723894400245545225725180664058249251848429861800272488022915289711789534621859783463423282593458512899323245805876270358301713260635533186462622524336622673281122461056972106415504415130773369477424459833016521130682444657628886321631489997355631507433232375825956827661293770354412495155065958379585704350751396152124671581582256673511822269343192434181889835248587283834252962962679918530139682909779464099532180624055085592510174238586393473892675109274471761533873548299574750905968800728113622389768730158257914539571882749482951946287545757799112645662465600769068445305973685391957932674074208632023129104671534977927979142443357855714831482775117836183748137809446689363847333046708160115429732693138114664886370461722599946635641277838642794371918284134307731118748684202228501492610244894926720446208561665359565771925908483553815512645142158865778678254291444253106255857801739826763462927678873816659006195448222873477442855996152464172734689455445205988736914977250748462801969338060549317157240323333922982612647322908278621058732354870143351288696154885238883735732012293056945197617280726764252422728378308359104849512791043832797880167309583331496864426143758857993143258339722696205593679979176996662022764827735743523730345989192182391543336688469872148758884015816547555620782132737310536859485906733758959834506301949372028334922785818669666831976638338068299292876827516723939048625717358968634136687664888478843923218635465954143831933529232667295990391227511290152634756443214542659926179987687477372842955125615686631442308750682229256245850807796577756695087776548861148075101879169889098016140362661423728162289561374129743108967870295834776938494880642198147843275766201045085388495298450915351674875419529877381641259797756379768690207526818884848929342475771937865849320809368045093474856794047472827617465551816788994675343743514458326473814296568363936575161680814575916352335821170197935444038998023696578309248597950548572852676224680209415737287392722916162493042541762393501495439353478695194813065796957047633766997463744438752055724844412240247161176316287303908106176564136638863315784445497275846659584871378483027377735378971657191428235272798731382760944272420641457453277095794222234139346439727497677571370921027524709523859761592844662381181499077194517300111103926976137887129196810179410414635716874952527093449683113944687030760868017503865417342713542687239629528263422965872086377772762977899148572791870496032557346915166407995295395891763279531639783289743609115342721544438595468361805633034821050393933213991039111866399606179683131193646210052079650717712345626540725919566462116416597324412466417296529958905324611864861649659424437045418003807649657028564454748552153888344359485112515220601054221566494014784092767358216749734336246978422992039800847239838073902216591080893555838344260883321162305789166569885871056699905009167794719362283707428101553264846425342775432013696415404778025358957714887588559990349927581540293887680918240861674702845424045933453264658606970279016163944011256487319567311775834971132649463688496990101913644859456188917401159159203648389706334844654676733212907844107803346092979001293919321573518466399143773652022609564071037078298067053255309440046079682561266218824586470756716314851677638786636619149672075952706330634776617211919311845380225813753706496562089145683915738107136216490414372680174922771808387151938464952939117506852510620122095580841338272384741671174753423554728441905990838236332320548576248627621106441987528892628139677378676133445176039015387756874016122297639480391137938544372646344112375456073557681116903092916069545601541854979043624723387034915358428365131559041664885382184815074320229758928456632655757003535198762274494545951273708227374723477894182559620935512798912637806641183938599118908099805158794671316685215145393702821115263429971579123739268048702569423832630288167734811498493399692841327482740912954797488318065308311658516782707142763142469353352285256805110144969467003973970346634289436572964512953242338347730745483857866579120924570636473912051686698397934204932552062784432484917487654587581267783873443471590642974432210202414134985827847903689485279298067152019922235628153430990608116573078914707