#include #include using namespace std; using namespace atcoder; using ll = long long; using ld = long double; typedef pair Pii; typedef pair Pll; #define endl "\n" const ll mod = 998244353; //const ll mod = 1000000007; const ll inf = 4000000000000000000ll; static const ld PI=3.1415926535897932384626433832795028841971; template using vc = vector; template using vv = vc>; templatevoid vcin(vector &n){for(int i=0;i>n[i];} templatevoid vcin(vector &n,vector &m){for(int i=0;i>n[i]>>m[i];} templatevoid vcout(vector &n){for(int i=0;ivoid vcin(vector> &n){for(int i=0;i>n[i][j];}}} templatevoid vcout(vector> &n){for(int i=0;i=b;i--) templatebool chmax(T &a,const U b) { if (abool chmin(T &a,const U b) { if (b>=1;v>>=1;}else if(eu&&!ev){u>>=1;}else if(!eu&&ev){v>>=1;}else if(u>=v){u=(u-v)>>1;}else{ll tmp=u;u=(v-u)>>1;v=tmp;}}return !u?v<>= 1; } return ret; } ll pop(ll x){return __builtin_popcountll(x);} vector calc_divisor(long long n) { vector res; for (long long i = 1LL; i*i <= n; ++i) { if (n % i == 0) { res.push_back(i); long long j = n / i; if (j != i) res.push_back(j); } } sort(res.begin(), res.end()); return res; } vector > prime_factorize(long long n) { vector > res; for (long long p = 2; p * p <= n; ++p) { if (n % p != 0) continue; int num = 0; while (n % p == 0) { ++num; n /= p; } res.push_back(make_pair(p, num)); } if (n != 1) res.push_back(make_pair(n, 1)); return res; } bool is_prime(long long n) { if (n <= 1) return false; for (long long p = 2; p * p <= n; ++p) { if (n % p == 0) return false; } return true; } #define Euclid_dis(x,y) ((x)*(x)+(y)*(y)) #define OUT(x) cout << fixed << setprecision(15) << x << endl #define BIT(n) (1LL << (n)) #define Yes cout<<"Yes"<, greater> #define PQmaxll priority_queue,less> #define PQminP priority_queue, greater> #define PQmaxP priority_queue,less> #define NP next_permutation long long floor_div(long long a, long long b) { assert(b != 0); long long q = a / b; long long r = a % b; if (r != 0 && ((r > 0) != (b > 0))) q--; return q; } long long ceil_div(long long a, long long b) { assert(b != 0); long long q = a / b; long long r = a % b; if (r != 0 && ((r > 0) == (b > 0))) q++; return q; } //乱択 mt19937_64 rng(58);  uint64_t get_rand_range(uint64_t min_val, uint64_t max_val) { // 乱数生成器 static std::mt19937_64 mt64(0); // [min_val, max_val] の一様分布整数 (int) の分布生成器 std::uniform_int_distribution get_rand_uni_int(min_val, max_val); // 乱数を生成 return get_rand_uni_int(mt64); } //UDLR vc dh = {-1,1,0,0,1,1,-1,-1}, dw = {0,0,-1,1,1,-1,1,-1}; using mint = modint998244353; //using mint = modint1000000007; constexpr ll sum_op(ll a, ll b) { return a + b; } constexpr ll prod_op(ll a, ll b) { return a * b; } string concat_op(string a, string b) { return a + b; } constexpr ll min_op(ll a, ll b) { return min(a, b); } constexpr ll max_op(ll a, ll b) { return max(a, b); } constexpr ll lcm_op(ll a, ll b) { return lcm(a, b); } constexpr ll gcd_op(ll a, ll b) { return gcd(a, b); } constexpr ll xor_op(ll a, ll b) { return a ^ b; } constexpr ll sum_e() { return 0; } constexpr ll prod_e() { return 1; } string concat_e() { return ""; } constexpr ll min_e() { return inf; } constexpr ll max_e() { return -inf; } constexpr ll lcm_e() { return 1; } constexpr ll gcd_e() { return 0; } constexpr ll xor_e() { return 0; } using sumtree = segtree; using prodtree = segtree; using concattree= segtree; using mintree = segtree; using maxtree = segtree; using lcmtree = segtree; using gcdtree = segtree; using xortree = segtree; void solve(){ ll l; string s; cin >> l >> s; vc ans={390,429,468,507,546}; if(s=="Beat"){ l++; } l--; cout << ans[l] << endl; return; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll t = 1; //cin >> t; while(t--){ solve(); } return 0; }