399597745751101249475728811040144164370675381541104959345791664142537738815283309840814737175618205634593596225878480641306479972265833687532418026761621766583741917891641728511858738680269104354714060649256569413759464241373456283754971742182865519138363285389867027988289759027368636246813784705638452125992998947638501600735459511374756309646844966784022339668337430359858134484802177879956597276898955939532972263543529996468489521306656113746923435522210541238432928779593259296211957493620151224876259291815617534149013063081187676204529843650136558771818937940543998807871299571758438713439567972341380362742206844766287629676328346683760586158198013512377184171113773546422888396129687648759805615007163411211377274605541590301187516894098935358391053206954328848203613862357776477198137838844726759710876787803209649945311817044699422874727809512311846781633911249986544057211780028496400716279575910903367987895944069113350334132104493120435388255155695022286712534129496263493131075270944049925021378136023755350815521139425134190183779725818817008446157297249706396998243729542104397892536004364377797444098896960871309496212734158563516826349948159403735951111135184457553506808254705552453025993347531957498395385648316557183193479959160143930277019885485959896075828829313753132757762698830854879365602924925409575573792785296559002278693654712070833187501022230964501806466694208791723382313425869684776798238009495302354758061550635459586752971776033702775550944202073348966891295993580703995286275341005953787193144864180135144652156899107546835250414280346453424173207163271535276201861843467483989775161160761624473074393357495505110545223449055555572138212904512486777453486336323129305650967747788778640027091547681107918851042225478363232888190023238563508323246938552856945151699556241483321973231375123616108808433139828442777995482535085307651509052854634016112534167408657942094121198131997853029737395431033511824893922768877245366511991811286801826709194625078316046665596733184121393513464064854638904686669797177423318897891996459170467121449824842692041698656623652781498377184414670275186319936774110843085175379400049303765658214863390550675108446686540501422467571958365937832077130331966141587390958194851281829022720742205578215382241748748345610959046446348858648699166982932564437484665546747612489497263377245738133239140033660980769732754277082177909692653485056153423303510330978131433319875221265485362733410974914282214964175554277255564288171460860889953515597758558292200168114622542356776154545705527613057734200467411215758749027508182323163333163742809341552141274357703344395587313472076263854057616769845965896657703618557876861383584513962413918757811323395293373732947152225965636513194226863289340156036043108653768865757235220304999972190596408131773528702698189678335246923608344731299719771635115684114773564227944067495794951125439589284653735496201001102236801226353476382711257360925884981050254551731199818750331518753849613739220817571106819540189578832141342368210133901457625397528145264199296377533686439375192608345140196532587970337360961160915024038452791773534091333117943033625138627289494196850773776239274470339373832107450744763175826675225500762118469770998174597029539116459232981648426975155942174835134825080652027186924518445655213059861436714426448994859172360056749684854476501246120093430276275304289200475554134976181298146406764457814200091389907403729499425306916439070237764301029442305558332857902110357372835447476390811157854710899031195645511530427191775742626947336782386161584125545038536890721650113598328671858773968578238813746870392995336753184253146868781188014579698453494109684355884863256629632907349756608528874776124539819376562722494210219064591548468309460977675667627419317718151497479521464877352966260814210468153141741614224198220357385616321783019918342533189261991561450258373036007945979199395398331745933196028935184019186922297729306793231891614226304525117424122857097501032224971158111503168299322514773948791110782415155168638734518285489896825466946249975276889246322726666076392231980802247358985990197209444888293305536637455003134266208296980565261663991411552201224825477812571286086772553837883054983356928754127763488657403662463638153093588218195162216293996867638252261775357569488945870485689892589829133183165648537023849101821818942358436373837150310888920855891084350437065702811251222040377548876696124182193079849461336692098135521661258236420761003179967231360753434226456464183567299606347262691727253687420953767779299931628490976042324121575370893329908546967526283896334709099255867879750555235499372923537928832434195029448538791356078559895848120618650713244935386382418511266722778929816542291425319163715525217347484467831145560381223455243269493345105008207618058364963548810287042097770630993017628234030975945533505365900196913566824490375868850067516436957317604925654116236137340316535807677662731829166656224995347786638982988814877820467096882156484319596138266374081906155525171800128678569944238634693032426392929165725891518103971564730783006472255550901298890311357303252797533954838867638547246781312012854185269991742376139105804558038006841026191233005100824420684525925175827557593471411046008405268543291384673039761871582983226894571399854177197828282767894314796082858414814179875410068306395102882233205892965689685511946076598336572768751869254627799352471335959731865514169699588274646081361324471286506629269764719503602533738982948496780851076784853027958823609486565653952118139618837253046273413552365385374591144672763831264962607837910335406739860340373035920522211858686693432558977289559527990964946458923632366575876890714547067767525697140946942817809953651332654971306917487737098165931675125349484533452156981673888476904214133697197659053378227481201946368363973712