#include <bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<long long, null_type,less<>, rb_tree_tag,tree_order_statistics_node_update>

using ll = long long;
using ull = unsigned long long;
using ld = long double;
using vll = vector<ll>;
using pll = pair<ll, ll>;
using mll = map<ll,ll>;
using sll = set<ll>;
#define iv(v) for(auto &i:v) cin >> i
#define ov(v) for(auto &i:v) cout << i << " "
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define yes cout << "YES\n"
#define no cout << "NO\n"

#define Bismillah ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);

const ll MOD = 1e9 + 7;

ll add(ll a, ll b, ll mod=MOD) {return ((a % mod) + (b % mod)) % mod;}
ll mul(ll a, ll b) {return ((a % MOD) * (b % MOD)) % MOD;}
ll sub(ll a, ll b) {return (((a - b) % MOD) + MOD) % MOD;}
ll modExp(ll a, ll b) {
    if (b <= 0) return 1;
    ll ret = modExp(a * a % MOD, b / 2);
    if (b % 2) ret = ret * a % MOD;
    return ret;
}
ll inverse(ll b) {return modExp(b, MOD - 2);}
ll divv(ll a, ll b) {return ((a % MOD) * (inverse(b) % MOD)) % MOD;}


#define ull ll
void solve(ll t) {
   ll n,m;
   cin >>n >>m;
   string s; 
   cin >> s;
   ll ans=25*n;
   if(m==0) ans=1;
   if(m==2){for (ll i=1, x=0; i<n; i++) {
        x+=25;
        ans+=25*x;
   }
   //momo 1
   //fomo 100
   //25*75
   ans++;}
   cout << ans << endl;
}
int main() {
    ll t=1;
    // cin >> t;
    for (int i=1; i<=t; i++) {
        solve(i);
    }

    return 0;
}