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
import java.util.*;
import java.io.*;
public class Main {

	public static void main(String[] args) throws Exception{
		int num = 1000000007;
		long[] fact = new long[2000002];
 		fact[0] = 1;
 		long ans1 = 1;
 		for(int i = 1;i<=2000001;i++){
 			ans1= (ans1*i) % num;
 			fact[i] = ans1;
 		}
 		long[] inv = new long[2000002];
 		inv[0] = 1;
 		for(int i = 1;i<=2000001;i++){
 			inv[i] = power(fact[i], num-2, num)%num;
 		}
		// TODO Auto-generated method stub
 		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
 		PrintWriter out = new PrintWriter(System.out);
 		int k = Integer.parseInt(bf.readLine());
 		String s = bf.readLine();
 		long sum = 0;
 		for(int i = 0;i<=k;i++){
 			long prod = 1;
 			prod*= power(25, i, num);
 			prod%= num;
 			prod*= power(26, k-i, num);
 			prod%= num;
 			prod*= fact[i+s.length()-1];
 			prod%= num;
 			prod*= inv[i];
 			prod%= num;
 			prod*= inv[s.length()-1];
 			prod%= num;
 			sum+= prod;
 			sum%= num;
 		}
 				
 		
 		
 		out.println(sum);
	 		
 		out.close();
 		
 		
 		
 	}
	public static int power(long x, long y, long mod){
		long ans = 1;
		while(y>0){
			if (y%2==1)
				ans = (ans*x)%mod;
			x = (x*x)%mod;
			y/=2;
		}
		return (int)(ans);
	}
	
}
 	
 
//StringJoiner sj = new StringJoiner(" "); 
//sj.add(strings)
//sj.toString() gives string of those stuff w spaces or whatever that sequence is

 		
 		
 		
 		
	


