2977602127519715396332206921873377475583255534957492307196615388944805148945025005446512817217490077304837765055511223981272612740209896291991268019220467855470927943022354939225994336447468667194932111826795069757210060136672207869818982238721446655991359486119536544720707166290270361076337196427607415298084906206894920935108119278176543250358472664523118196481622869374347275095255554006249850038217159537456790263676108273580592775251656596229593613567668191069251192967415498805729826414466587127556430892181414664792586035761436831104337598445708053770159749361772216914712521064471470780529429091721057722050590717893464595755550242537366958132789824106687457571570926632221034366370341950673720652079357330250258616280539267906266163616861785186780332771601697149492950625826907524399131023595777791997537326334098617983557101128121238872697898089623378877963199282346191762699936338356746085794677582366123245804353876564383333874578107590652636999828939326435787619474547752318950993727453261259540749336452190187070998369774996477496042134259885896585621673336431475097318515888852788139930368226233489457870492425712184031496795742773625181164228834326776919245382413201383307781463775356662367010917582831416396612981395179468347177671889982420916515529240651535477373822398578704523094530416179904526397918822645604662569058679297615302090580345895497633320939436029934273006527178329999293779606757472745537617987703516015101771188336584021945130955084878759426026935177722556280261117305446944367982682082957299420334731704073214299590457481115923604342959327597093307327313420857143673571958692314376794158699518397227234095013045866031881574708283363782212366513401135696326448475277999235717111832967467841744329889498083954465475724970809733376245645840666876263964554321514839403153730872771027261198106813956782039633515368745689471166653130882456208921370936965577596115935401622077186208449050248953144047996996130786383333913553517876961258047952863106691777900605131847665503985266622078489959946831728292535027500556537865379397436256255694385517526445624160896412155554091241240238970425927331786588382667327147640255871182137552458576206534380529364644768166177047930903639402820742176642190315335107631573822222575920699791934142978139418964298528035517693620046599701367691034830526265922436014476800254771743918365579572763594538036892082763955311608866024492655122788209472556574495213851839281209754568592149232848295481297760608970631987183727411772371552109171489640121646521481213993988987861467488569494048617773469442637408973529249981340260103516301581162668591721134390580572518139360281352859755189082648716073500963328446627714364908902640789823748942996279986766360776481495630439947716180940311504513590557953727471222188366445970275515710434112512888424352762131022335838266065866790094077651170084002670557665711485302786446149239024076874114812445841627926384125376714223191029315284630537548645882863115811291476714248738875307312887759712731606914619096275922324563587717835352803100080803658359877569190949095601852469796615162312968172784595859722809950788832596812938860531383942369156969011612652339412735272721546999341114643127325839542767441366580515064458549344599169703799247461828967512157181272570955607141966042563485981045461136053403143942283415524937653504968282028495720597656527112211942195585572973134599854346015044315895697634436243231823236708559101156241997973237904577136557280728958805130966471680870465180107063258188577476961353647722873958054382995983248827619095342788371497150248041724846785237596288601211102341659097932016785847625365705161928928927173806772644254296532957921678038984889362411372056553568757281244673788537872464541481629151857144373138264238791963858018213658876392028640871068613386752593121866439589842833730013138068902354856087749120126978941646667424261623456857244419197685532873019149556714782861955425815731554526620839224563913966181607615931727423362588442880269871108738416719243391485373906339466835356359021074114767136435015789120402810618056657987514026053621874182585266909146913037341816678786280195607062566167049664601434063205577246458848666470409962419732648068169667209057640489019303155427781194950537578819964845685797984670757593451388853136630057364591832518603112723395801638914424396462811153713615525189879943038373597172414883479690411727529788859991838159027134863793463744809561364311586798319912828260651271696894747368553976551772657019212791959371813698343217816132993376872260420895154795681294168405069776969277319694528338907632961106355106875399973864627960498806187734843000337234804672273625287309970892044361765830822088677259007979690159835638761208607372221431248949538325111608098967067082637291183724975963290874045632780244199358919738654321218564189553045375537990376314197847088843241113761575891583244626474416167958016110796866172110757740726091415325244185305907842781458327916179866883266482839786076584725268830713746483879411741560748447310232957591701793781159110272675456477268023543869145548504655826444998769235687405355826548921214420028262999203880032061417650513366198548926846546124421996490156104203719536576071418178899072734889313601261214465073894020322820763368396224072109252677644631897959980196296671773263842121252828958049762530432223851611190255210492820856930580296133867280896655323907880915145053237424288676234550743461491080274649897304886858761088985351838368997856177125420636561965455191435896112714891588397304551032726833792597047646560722600472865426582506627591367974358303150247999526765342080268052586674697591198130489701158139913448670704280496840359194492954594988625581182550891557003567688483683460583831812529888851922306756766937284479518668303833113889886410143195983987672363131809387246799968637476089853565482927562854239335582153796