mod = 10 ** 9 + 7

max_kai = 5*10**6

kai = [1]

for i in range(1, max_kai):

    kai.append(kai[-1] * i % mod)

kkai = [0] * max_kai

kkai[-1] = pow(kai[-1], mod - 2, mod)

for i in reversed(list(range(1, max_kai))):

    kkai[i - 1] = kkai[i] * i % mod





def comb(a, b):

    if a < 0 or b < 0:

        return 0

    elif a < b:

        return 0

    c = 1

    c *= kai[a]

    c *= kkai[b]

    c *= kkai[a - b]

    return c % mod





k = int(eval(input()))

s = eval(input())



ans = 0

for i in range(len(s), len(s) + k + 1):

    ans += pow(25, i - len(s), mod) * pow(26, len(s) + k - i, mod) * comb(i-1,len(s)-1)

    ans %= mod

print(ans)

mod = 10 ** 9 + 7

max_kai = 2*10**6

kai = [1]

for i in range(1, max_kai):

    kai.append(kai[-1] * i % mod)

kkai = [0] * max_kai

kkai[-1] = pow(kai[-1], mod - 2, mod)

for i in reversed(list(range(1, max_kai))):

    kkai[i - 1] = kkai[i] * i % mod





def comb(a, b):

    if a < 0 or b < 0:

        return 0

    elif a < b:

        return 0

    c = 1

    c *= kai[a]

    c *= kkai[b]

    c *= kkai[a - b]

    return c % mod





k = int(eval(input()))

s = eval(input())



ans = 0

for i in range(k + 1):

    ans += pow(25, i, mod) * pow(26, k - i, mod) * comb(i + len(s) - 1, len(s) - 1)

    ans %= mod

print(ans)

mod = 10**9 + 7
max_kai = 5 * 10**6
kai = [1]
for i in range(1, max_kai):
    kai.append(kai[-1] * i % mod)
kkai = [0] * max_kai
kkai[-1] = pow(kai[-1], mod - 2, mod)
for i in reversed(list(range(1, max_kai))):
    kkai[i - 1] = kkai[i] * i % mod


def comb(a, b):
    if a < 0 or b < 0:
        return 0
    elif a < b:
        return 0
    c = 1
    c *= kai[a]
    c *= kkai[b]
    c *= kkai[a - b]
    return c % mod


k = int(eval(input()))
s = eval(input())
ans = 0
for i in range(len(s), len(s) + k + 1):
    ans += (
        pow(25, i - len(s), mod)
        * pow(26, len(s) + k - i, mod)
        * comb(i - 1, len(s) - 1)
    )
    ans %= mod
print(ans)

mod = 10**9 + 7
max_kai = 2 * 10**6
kai = [1]
for i in range(1, max_kai):
    kai.append(kai[-1] * i % mod)
kkai = [0] * max_kai
kkai[-1] = pow(kai[-1], mod - 2, mod)
for i in reversed(list(range(1, max_kai))):
    kkai[i - 1] = kkai[i] * i % mod


def comb(a, b):
    if a < 0 or b < 0:
        return 0
    elif a < b:
        return 0
    c = 1
    c *= kai[a]
    c *= kkai[b]
    c *= kkai[a - b]
    return c % mod


k = int(eval(input()))
s = eval(input())
ans = 0
for i in range(k + 1):
    ans += pow(25, i, mod) * pow(26, k - i, mod) * comb(i + len(s) - 1, len(s) - 1)
    ans %= mod
print(ans)

-max_kai = 5 * 10**6 +max_kai = 2 * 10**6 -for i in range(len(s), len(s) + k + 1): -    ans += ( -        pow(25, i - len(s), mod) -        * pow(26, len(s) + k - i, mod) -        * comb(i - 1, len(s) - 1) -    ) +for i in range(k + 1): +    ans += pow(25, i, mod) * pow(26, k - i, mod) * comb(i + len(s) - 1, len(s) - 1)