#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <deque>
#include <fstream>
#include <functional>
#include <iostream>
#include <istream>
#include <iterator>
#include <sstream>
#include <list>
#include <map>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#include <iomanip>
using namespace std;

#define BR "\n"
#define REP(i, n) for(int (i)=0;(i)<(n);++(i))
#define ALL(cont) begin(cont),end(cont)
#define AS_MOD(a, b) ((((a) % (b) ) + (b)) % (b))
#define MO(a) AS_MOD(a,mod)
#define FEACH(it, cont) for(auto (it) = begin(cont); it!=end(cont);++it)
#define FEACHR(it, cont) for(auto (it) = rbegin(cont); it!=rend(cont);++it)
#define pb push_back
#define pob pop_back
#define fi first
#define se second
#define getll() ([](){ll s;scanf("%lld", &s);return s;})()
#define getld() ([](){ld s;scanf("%Lf", &s);return s;})()
#define prl(P) printf("%lld", P)
#define prd(P) printf("%.10Lf", P)
#define pr(P) printf(P)
#define MAX(V, T) V=max(V,T)
#define MIN(V, T) V=min(V,T)

#define PrintArray(cont, from, to) for(int __i=from;__i<to;++__i) {cout<<"(" <<__i<<": " << cont[__i]<<")";} cout<<endl;
#define PrintPairs(cont, from, to) for(int __i=from;__i<to;++__i) {cout<<"(" <<__i<<": " << cont[__i].fi <<"," << cont[__i].se<<")";} cout<<endl;
#define Print(v) cout<<v<<endl;
#define PDBG() cout<<"Line:"<<__LINE__<<endl;
#define PrintArray2D(cont, fh, th, fw, tw) for(int __i=fh;__i<th;++__i){for(int __j=fw;__j<tw;++__j) {cout<<cont[__i][__j]<<" ";} cout<<endl;}cout<<endl;
#define Resize2D(cont,H,W,V) cont.resize(H);for(int i=0;i<H;++i)cont[i].resize(W,V);
#define Resize3D(cont,H,W,D,V) cont.resize(H);for(int i=0;i<H;++i)cont[i].resize(W);for(int i=0;i<H;++i)for(int j=0;j<W;++j)cont[i][j].resize(D,V);
/*
 * ***_bound(6)
 * 5 6 6 6 6 6 7 7 7
 *   ^lower    ^upper
 * void reverse(c.begin(), c.end())
 *
 * graph
 * seg tree
 * dp
 * brute force
 * priority_queue<int,vector<int>, greater<int>> Q;
 */
struct Comparator{
    int operator()(int l, int r) const {
        return r<l;
    }
};
/*
struct PairComp{
    int operator()(P l, P r) const {
        return l.fi==r.fi?l.se<r.se:l.fi<r.fi;
    }
};*/
struct Vec;
//set<int, Comparator> S;


class FactorialMOD {
    static const int MAX_N = 2000000+10;
    typedef long long MODINT;
public:
    MODINT facTable[MAX_N+10];
    MODINT invTable[MAX_N+10];

    void generate(int n, MODINT p) { // p must be prime number. O(n) O(log2P)
        memset(facTable, 0, sizeof(facTable));
        memset(invTable, 0, sizeof(invTable));
        facTable[0]=1;
        for(int i=1;i<=n;++i) {
            facTable[i] = (facTable[i-1] * i) % p;
        }

        MODINT power = facTable[n];
        MODINT res = 1;
        MODINT index = p-2;

        for(int i=0;(index>>i) != 0;++i) {
            if( ((index >> i) & 1) == 1) {
                res = (res * power) % p;
            }
            power = (power*power) %p;
        }

        invTable[n] = res;
        for(int i=n;i>=1;--i) {
            invTable[i-1] = (invTable[i] * i) % p;
            if((invTable[i] * facTable[i]) %p != 1) printf("Error");
        }

    }

    MODINT factorial(int n) {
        return facTable[n];
    }

    MODINT inverseFactorial(int n) {
        return invTable[n];
    }
};
FactorialMOD factMOD;


// solution below
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> P;
typedef pair<P,ll> PP;
ll mod=1000*1000*1000+7;
ll powt[2*1000*1000+10];
ll pow25(ll n) {
    return powt[n];
}
ll comb(ll n, ll r) {
    return MO(MO(factMOD.factorial(n)*factMOD.inverseFactorial(n-r))*factMOD.inverseFactorial(r));
}
int main() {
    cout.precision(15);
    cout << fixed;
    ll K;
    string S;
    cin>>K>>S;
    factMOD.generate(2*1000*1000+5,mod);
    powt[0]=1;
    for(int i=1;i<=2*1000*1000+5;++i) {
        powt[i]=MO(powt[i-1]*25);
        powt[i]=MO(powt[i]);
    }
    ll ans=0;
    for(ll i=S.size();i<=S.size()+K;++i) {
        ans+=MO(comb(S.size()+K,i) * pow25(S.size()+K-i));
        ans=MO(ans);
    }
    cout<<ans<<endl;
}


Measured memory_bytes: 51204