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<bits/stdc++.h>
#define ll long long
using namespace std;
ll mod = 1e9 + 7;
ll f[2000009],fi[2000009],inv[2000009],p[2000009];
ll C(ll n, ll m){
    if(m > n ||m < 0) return 0;
    return f[n] * fi[m] % mod * fi[ n - m] % mod;

}
int main(){
    ll k;
    cin >> k;
    string s;
    cin>> s;
    ll n = s.size();
    inv[1] = 1;
    fi[0] = 1;
    f[0] = 1;
    p[0] = 1;
    for(ll i = 1; i <= n+k; i++){
        f[i] = f[i-1] * i % mod;
        if(i > 1) inv[i] = inv[mod % i] * (mod - mod/ i) % mod;
        fi[i] = fi[i-1] * inv[i] % mod;
        p[i]=  p[i-1] * 25 % mod;
    }
    ll ans = 0;
    for(ll l = n; l <= n+ k; l++){
        ans = (ans + C(n+k,l) * p[n+k-l]) % mod;
    }
    cout<<ans<<endl;
    /*

    */

}
