990593178392113111577069289696367263913910938281016242873642222681216148210743415279100964572348935169166225356078485823475747666910755942007741428311063831776836172494325778669838443302112315149432289212636713185954902339291731978957936738313563895539936318819230277571221953399547692979536163534595287178763790179270958310113833888692126751987511448368924601952142019471230113917948788140771973941513570460749162403424656822997470018669716412998800135024664529706332279523221521819991732712469626871993837932995038429362621413237764510619186970454775946786162430162546736354942094131973117863314816482531686029704691197507456400751928460569451115551313455361615791622186759742380068553440777226590324613359061973675561092192946986739419459395628875954271323453394513417911372451755172867649983754917995427027250882851451725404879913638118158674051457873528214484129201525175235572782083474420040569698936533828965472185603295107615750584062210980744667089243514606990476282011605251753317009245166466864151762505343654196919672644096004759627847092917235135298626213717254754960199904189544777743650827971022508292781939944715645774848591227446223463278337820516717551107187404873798513882024996198346369335355227918715056954678943599585113043351556712897283813653384324847299152608152201455953184767430848895217648032923241155351387258567128512099211695486396987930462951356464073499619174166351859428837892321692481823117889652338387369983138780510644849816255871973998608536213483058779507586145301942712128666229332833467716007612860438873788438939574628089117869816615026823790195778372591892772026701730565030824492554781877406449591309241623666731638163328204783206070329261453511056933158562280905864579310883265898572149932233015714230433071138131474085473905633393282284381596943620578472811131632712848289388572715868921976645268484395370167430139078544975192057151722393463131682302098819927295390737827682664247706116860472424604196831905039651464528702325637448717737956651561079855568357879374681428675649827413221326261248559964794831049605728015454797545975463556915485160463263596434911873185295806663096257400618771056279986964199152134971199611081340928634021662124563691920989350824534222977957162356844222012859809756752782927731691276886147631657507626135796899478263251323777968598224255925019719913653856848944711328402569117555873653304739542067821399678893875249721201203229582164981493588051653790839402260164159848025498422755238355931465878345177940671754976477847985363873454314476986478170914710821895426760423976665212097958454489875968201477142383790718477607165810358305470734096377840837436458788376656961819485225174562026442385543553882498883613717677320216330161881934431328397898281726084441166591486662800720162387105978918998390436013748837450253961968682022962318795494471253668770187519977914574043450791669263433597031889915949394635110461377138606771368795761124375692763345891284275855575185386694946736407523649094424832458197849492026588237815357243203374982118935772551720653418063492798466987185368875388338674753923173094405932121291937113085431848306781752757738322418861930506771356169338469899869074875594626722510254169002296115916503967754722253733455161917214566742343574828379014248751305725908927490080514869425967666488994357677940145965235488533792472174348861550489929918949499354711530425071196217424571244670624494127030281310232218757836973604783513489411389999782585288237235530463402694285395363485472240104251378725347682382701189953193345069619166377911812748648012655532258896932239811418153139785119501507361859607926309816013185167468516430812668482484433488028723853177475879721676076166144243346503915405134682639122715720202456322280707729684504780173554784188882873413228750011033834882922015292753663769675479693999208258328915341519451335215288762947049547955599193882765533961438133015107266058464099335167255100450749212618004101349579796708870577659284825404494391653227742181532459273925239150734119627744823463948272403829341935724444544220932435734911398371697645208196793203582494299049199040240563949956869059948608083189218919512419132141955778150703750272163971673530464574424245464795627284544638511500724023602473964134818795616337691502650854641164671808717473552516460753857007554714786966153687945774463548785161587569473051250244966246063872944487676368155723470310433354572937181927762611190762152201041955471691676086841143487075033099135229947441950893825244708031443933757649381655451251669343780763299542364601380832703961927678165393393908544539363546080429087697085489651573195174794836949926691861707998531265509950357612334297737042217625585790923486925377433186856283137673343238942609190306062883878374487659839342496153824973579593863887997452105530469439757789298782672669594674926937289948157134609926451197911735765924940712638215641012816101725443886892338277546971777098918559768949302920473601921379188501193985127318292821221664705099988192245286422655289824335344051328611207566625244668574409315973481014821603887799424711488427083623523386456801658265806890227273481032464095846413099564847432884606289126057756426873478641378978868852477186075553376496891294515944999316644909875425364142219187854186277330563753823251856035301642463905141232628203011743848036819106875627506395241974385408848555677260799715902716277333745327822813353803583243559852999133540222353766198788927103365570648294214685526549982172156953662184406642374433873304264755654216671576325466757184022796628767789178642434338317561918395163139548059289362580897748178353226788519796798013749806317666457940333156537378541787894673783717154989388161112517935944973463242937426688361229504792331036757283486308908873589655068988492157913985320230503429175643116613544343956890759556925143587625632716625416450288714445249787698716930015027