3192493521198357452925030911935817012909150850384111355786894956311846878218865919791571024712447559147621846710819569804368348719978230673909221411657814441924788880776692994573719647977080268353712568670655946722318633927041288217080792567483329234969209318217469627799947852837714724702792967232493804703789983226385137713907678201528059459694727119361934060255148596693868258953526977897796213487763503199387934301356912054367627131677846288367675419056410638491305066486630349546192561286327110495545962992824327487814447812120471545992464503165393344159563158252018312477931842583675770288969290428995471539060585296725296763727475133811632286951147662867387986211956864165107079644639228165123523841732095730619366469905778113592695457274429235719133671255712760988186548485137013726032883591939255637732556869537251258767296646564682774927515460361513774398418731613492732681051106718630714782405813464521704850069992431574447559428776971143174834117024337863581461796900146472947281897653872508940425348853672568958326610472615339631326027958567258366567662541077027689997513592755543002357573887139225801385805476156235529236646695122086225940466268343817850553593881184411216038777857953762679610349117459273919531848584717981441743113918144493071098034849535811010602149325085509347523499875917822063602937445524154783359169589414458952375213334285916055958693459108953817166458786763120671394652450542862939085582051734731711192240555899383249334572233598232479496134615886534084217332686634233791178070762537899084207071770618115125180967804048426571783614591530453828453313251992103592998349624367649624197127045228508144471983706729065524075886254249397879861679985198069832456377610805080167141505429333111184219943255303178412423722241076247617953008618904572573906200537334036481234087213326364839141209408264691647731344961514074805478238375665129880925531995493010416841854154823856663760998708495077454526869552608402926729804486960383671937282817681652409395244544258532197236773456108446757065508174066767260995102839794362983502848257929372403199737357357116190912274938696991904861427381658056372864998621107539333561829204486675281198397653136642022739830323014478477995159723214345859591041044019791141891496802286233759471183526580574245409870124595139914616824907940336582637559762809155405211014722979769338895188611788555509341354504651670739648064401173733741864192807206890746867468262573459984812543824221435323390251169686816814487186914911196255087757777099778857551786004447961779032328495290616122326180585972576183771126218817360602541683760103605416361909486532987892869776808519579599631769977611911341366216973338053062585890657826526184256791843574853206778122509357702567841668931275975942144479743846278123303697988115443208260095091333909664027350318269503670881444527609474574077754588505487619224261954644505830449024391566281023356828755609905360773882556697494694436920447773708564740410163108504175898128031993366440636218679341143272904091017645668831554314583532763398871916825955684167924997426435507864295557601312346616795160153569703315117995939811777891394618096565008544561772625663209487568977375599161342849496725834305278824077284237126565677613879779281394014097612657436679075296024234116995134925097311170445979967870639886854243434652650472391548482664578521506524527163102711552146974893236341231766609363562964101542307922334547785292707696496670723582198295784717314712603252958921665453985917585546475454528628316417361834968578789875651918807988816574691862363529777602874953423983624344216243162019727784692213179227803661636868912830807793272397213045221119527146296252978605044520880804042303891846587236817037668310824916334752255152516314213683086132742543941276913406226858095348164623769026201138580141720908276507495302741286729623636325112377462062962399758940909875877437813495148964116232073748410128504326180855431848646143144625783352786162907706334180244005978406616992293620147398734119501780354068892382654982995638555242375781424517868783575779610853716491837867289715252964735799741024996163481635103369031867993141839185814934360666331910986936956799445638487499119632755798871732954722180329273811520127017878576088817255644866523319145828112466838164565239373411357489385388179116972923284072483541127318806911332248224799440667463587527543585242263899224800142252222297769782115591404495091792734325514249455713684800215076142463393787876826870730965534810881195631620247210944552747430591717388548073060854159958921217177455795955445704280883753642762162346495047306266896043868523421825945154737373029872446221155041919613577707708216051420223162789989838712558172901199309700745263492301458035151436588199170844581665251862221471677835940852764785151904121919714624375232511276832269628850490276826219949614495229444927280823362865430518595443813271617308229574150328551811935476148071942181936233327735997631695875707837094333117615772593285765597864041442193564480170576992794764583782762077828236632207285124419553373957030171355312617961746662893483053282718745010463211171934061935272636170924397171962232481538225317496472122697586362203583152623099454189527116404478248706862273122887369878272084558265483459895810303724178259552975625945191024865119277243456470598114328276574595426230439466223986092904364527955120866399507702715467655762221331681115962345843132787157871986253831873354362299844041741405427061704032776920197093538645433678853844209834241317180895344451108718342517765697993769160588722760691361044134848424851178172524512279966062588293998423751756123796626647567922746631334194413357165124711109353722237828574863734615381728655850982696643134503978957481949620685063291817623119484496559429519576156422620215887534767840725089829584520051089915833814861996809651873780306291078699246669239932244623833707018217529842259520591064508