How many strings can be obtained by applying the following operation on a string S exactly K times: "choose one lowercase English letter and insert it somewhere"?

The answer can be enormous, so print it modulo (10^9+7).

Constraints

* K is an integer between 1 and 10^6 (inclusive).
* S is a string of length between 1 and 10^6 (inclusive) consisting of lowercase English letters.

Input

Input is given from Standard Input in the following format:


K
S


Output

Print the number of strings satisfying the condition, modulo (10^9+7).

Examples

Input

5
oof


Output

575111451


Input

37564
whydidyoudesertme


Output

318008117
K = int(input())
S = input()

mod = 10 ** 9 + 7

N = len(S) + K

power = [1]
fac = [1]
inv = [1]
for i in range(1, N + 10) :
  power.append(power[-1] * 25 % mod)
  fac.append(fac[-1] * i % mod)
  
inv = [pow(fac[-1], mod - 2, mod)]
for i in range(N + 10 - 1, 0, -1) :
  inv.append(inv[-1] * i % mod)
inv = inv[::-1]

def comb(n, r) :
  if r == 0 :
    return 1
  return fac[n] * inv[n - r] * inv[r] % mod
  
ret = pow(26, N, mod)
for i in range(len(S)) :
  ret -= power[N - i] * comb(N, i) % mod
  ret %= mod
  
print(ret)