# -*- coding: utf-8 -*-



K = int(eval(input()))

S = len(eval(input()))



mod = 10**9+7

N = K+S



# mod上の逆元の計算

inverse = [0, 1]

for i in range(2, N+1):

    inverse.append((-inverse[mod%i]*(mod//i))%mod)



# 階乗とその逆元の計算

factorial = [1, 1]

factorial_inv = [1, 1]

for i in range(2, N+1):

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

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



answer = 0

pow = -1

for i in range(K+1):

    if pow == -1:

        pow = 1

    else:

        pow = (pow*25)%mod

    answer = (answer+pow*factorial[N]*factorial_inv[i]*factorial_inv[N-i])%mod

print(answer)
K = int(eval(input()))

S = len(eval(input()))



mod = 10**9+7

N = K+S



inverse = [0, 1]

for i in range(2, N+1):

    inverse.append((-inverse[mod%i]*(mod//i))%mod)



factorial = 1

factorial_inv = [1, 1]

for i in range(2, N+1):

    factorial = (factorial*i)%mod

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



answer = 0

pow = -1

for i in range(K+1):

    if pow == -1:

        pow = 1

    else:

        pow = (pow*25)%mod

    answer = (answer+pow*factorial_inv[i]*factorial_inv[N-i])%mod

answer = (answer*factorial)%mod

print(answer)
# -*- coding: utf-8 -*-
K = int(eval(input()))
S = len(eval(input()))
mod = 10**9 + 7
N = K + S
# mod上の逆元の計算
inverse = [0, 1]
for i in range(2, N + 1):
    inverse.append((-inverse[mod % i] * (mod // i)) % mod)
# 階乗とその逆元の計算
factorial = [1, 1]
factorial_inv = [1, 1]
for i in range(2, N + 1):
    factorial.append((factorial[-1] * i) % mod)
    factorial_inv.append((factorial_inv[-1] * inverse[i]) % mod)
answer = 0
pow = -1
for i in range(K + 1):
    if pow == -1:
        pow = 1
    else:
        pow = (pow * 25) % mod
    answer = (
        answer + pow * factorial[N] * factorial_inv[i] * factorial_inv[N - i]
    ) % mod
print(answer)

K = int(eval(input()))
S = len(eval(input()))
mod = 10**9 + 7
N = K + S
inverse = [0, 1]
for i in range(2, N + 1):
    inverse.append((-inverse[mod % i] * (mod // i)) % mod)
factorial = 1
factorial_inv = [1, 1]
for i in range(2, N + 1):
    factorial = (factorial * i) % mod
    factorial_inv.append((factorial_inv[-1] * inverse[i]) % mod)
answer = 0
pow = -1
for i in range(K + 1):
    if pow == -1:
        pow = 1
    else:
        pow = (pow * 25) % mod
    answer = (answer + pow * factorial_inv[i] * factorial_inv[N - i]) % mod
answer = (answer * factorial) % mod
print(answer)

-# -*- coding: utf-8 -*- -# mod上の逆元の計算 -# 階乗とその逆元の計算 -factorial = [1, 1] +factorial = 1 -    factorial.append((factorial[-1] * i) % mod) +    factorial = (factorial * i) % mod -    answer = ( -        answer + pow * factorial[N] * factorial_inv[i] * factorial_inv[N - i] -    ) % mod +    answer = (answer + pow * factorial_inv[i] * factorial_inv[N - i]) % mod +answer = (answer * factorial) % mod