output_description: Print the number of strings satisfying the condition, modulo (10^9+7).
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      K
      S
attempt: MOD = 10**9+7
  k = int(input())
  s = input()
  n = len(s)
   
   
  U = n+k
  fact = [0]*(U+1)
  fact[0] = 1
  for i in range(1, U+1):
      fact[i] = fact[i-1]*i % MOD
   
   
  invfact = [0]*(U+1)
  invfact[U] = pow(fact[U], MOD-2, MOD)
  for i in reversed(range(U)):
      invfact[i] = invfact[i+1]*(i+1) % MOD
   
   
  def nCr(n, r):
      if r < 0 or n < r:
          return 0
      return fact[n]*invfact[r]*invfact[n-r]
   
   
  ans = 0
  for x in range(k+1):
      ans += pow(26, x, MOD)*nCr(n+k-x-1, n-1)*pow(25, k-x, MOD)
      ans %= MOD
  print(ans)
problem_description: Statement
  
  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).
samples: [{"input": "5\n    oof", "output": "575111451\n    \n\nFor example, we can obtain `proofend`, `moonwolf`, and `onionpuf`, while we\ncannot obtain `oofsix`, `oofelevennn`, `voxafolt`, or `fooooooo`.\n\n* * *"}, {"input": "37564\n    whydidyoudesertme", "output": "318008117"}]