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
#include <iostream>
using namespace std;
typedef long long ll;
ll n,m,MOD=1e9+7,a,b,ans,bik[2000001],k,tw[2000001];
string s;
ll f(ll x,ll y){
    if(y==0)return 1;
    if(y%2==0)return f(x,y/2)*f(x,y/2)%MOD;
    return x*f(x,y-1)%MOD;
}
ll comb(ll x, ll y){
    return bik[x]*f(bik[x-y],MOD-2)%MOD*f(bik[y],MOD-2)%MOD;
}
int main(void){
    cin>>k>>s;
    tw[0]=1;
    for(int i=1;i<=2000000;i++){
        tw[i]=25*tw[i-1];
        tw[i]%=MOD;
    }
    bik[0]=1;
    for(ll i=1;i<=2000000;i++){
        bik[i]=bik[i-1]*i;
        bik[i]%=MOD;
    }
    n=s.size();
    for(ll i=n;i<=n+k;i++){
        ans+=tw[n+k-i]*comb(n+k,i);
        ans%=MOD;
    }
    cout<<ans<<endl;
}
