955344916889017647595001270698059553111456290493316691417429344673391035039107212840531958862929381602349992818271482201592588828295252985454197536245405216801137931577684364728190083003591894854126055172573724283716858496374192763446966222792576340121812522242961489998917321562775822305730107211735798086013977182761225375296374143138766337515212916123910502629552162852440645687502163488722270269204594772873813028705429868527300311660017592430274971598198237414729111668351148860110002318266075934354932194242039479693775282746395185355856594957922295516545906126357836754277726829557025287370883991338323604701274320289589740926898759854461194732980733397429971106383747839351377022133894301651751157465918112722042221747489758158478932198108994165539872412041757964450790167662292769053668851557416232480161705789213024933921337132138614679908976860871528104430330298915816246373947881321414943861621960366071387854144748501182077011622856324991944870272798333286967149371223508066195773284850117951388738168278721720397822182865553527710571759941487297571499796572323906208698522614943113384883997798874053294147889450154211806232317678193739753866130715083806315136130786819710017487100144061528801380284967373885939508063334510897887705015521438594495584384797222681511358913856470939625654799840960374881360084716818305820024631257196868191172335443966295746507298921911479805400614344007696275428161606629574937695090915795703781016636770424871166993611037235304571643048932772139414225254140017843714740254315271193498477256573026384907611507926148221066398374145968004397486841251091497168506517593740112167422338127026214295044855961256895128445411111633637971162266877290839203352015678164316142151648923174065679250911545498162336346121054112271661419850572663437891795043517158898231442418221322251103844587280097842359686734473763204717782108263912052445293856718751131159489977593176918154548140748672235798394351877976818879850821229992389703583519787843648870088827025933363597861818348793825219028121499423006194587288811486851439475661819215944345408615132098516836432779501249514268059193370647907824993427519007488336063201940671394994921706169768691382138769235179552372674395659134632681544114746731656879181871770468221719020430174484408731654033639118448362295554486768421975867461344495437015888110369678561845185865899205532138511396904157687266317388641256128157233239577793959142030133564428108733161008912331229787113579644413763778635971589983949358358724223541889392727242594565909636881983439414531227188863362721870878122286867872637997639489210160096652672765883766195937051616456945244901924544074414389436857837771222691764239694575429007468018898129947545921079565690233305148970266697636855280479361361526675443235228297867686427066315603332034335012751382808092699727089754277661717706558147562949274897884830808877547873703090103478357289664482303261118344168129685583695056381877313290718556273792156085977474098054285110399693569021975883011179176323321732290686427702343348688242139990415937214895878030981828785982954077746859412695805911844133342962607821383919901929408345553542203793768331633222499456198197820607996161249242841956493894214182795452072287922231086902398313432210341561143734663288556436618158632064493461738446920627426681755904475168813358963088647997384993231453112697605491765937288987660960180427155776791196687581815219140031577722744504086674364177546181110914324569234147842818094917440739515533662130643697173921852831844567380875616278547882345952490022625767574232249522781914275204989932482583574630275647830869215514577228416465383472357391597845843997250556231141613953301586417238502918875941368940861196307854943431642896901750267008718065773981279698447274189573385598608552997342351713460451065194377852817689121987617419441534355011428992738188442140495733969839191334984399830143605433829187703659949057585780694489745574514634794958493329599329827207288178509431567707527395876505861137158357012234528594029624244735762011504175725158429455849298186283636742962501595817894120197188301288450375473071281493263548487642524673832642773491736172987010144168227366878191411137865159402294330999259212392606148800020168133715622646421402424153106387060314486573956965909461189209382259082422577544267772369366788152596392860227814463099449476796473066458015135885376089134423629586102294336525386753703182675564628810539881293503453830445112271626001388727019637797396588877328613457877304419832203478972255711476736042262783444195630787851909390647697628938571374972232797251364872668244418740918519874765806214317546177197015173173722397609300133273782598524673633303571096432731795886809776193860511515821539252677229282477429285794103456484484458648487827817291390631221580287889307608420366415836342720250674779411237162521387391554357937835166003603842473303488519841618944283989291331780729097083733415787981793852934875558640751748987023975755140877482470405299257653187548386187678134562741772970714128373383784542038810643734620879648760627563771492858363473118187986608979254099549841144246673717964388653557902185753226378935453091647216936587015127356123097453884584457040231778276739819319205649334065793988138217122624620394326998281417806537845625889002503767213474884524972258004729188462312109233625100218389031944992875573231997185072567782625152777642201409893174012401883647754335967461422640453540988985504377370725017482387194883953554861848276542800969763424734792612397914577765364962103862696410128601320025012576285698699521250218859881303767165519924775290665653175615553135863573037243931108096055621140446266735246595682684717648311184094842622506564247902540620819327300338455264913245950244238233743581633067363261057461008837760725639866174641697333289591253089812085293806664355429074411582988809200124345201