#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <numeric>
#include <unordered_map>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <memory>
#include <iomanip>
#include <type_traits>

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
constexpr long long MOD = 1e9 + 7;
constexpr long long MAX = 1000000;

//long long MOD = 998244353;
constexpr ll INF = 1e17;
constexpr double PI = 3.141592653589793;
template<class T>bool chmax(T& a, const T& b) { if (a < b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T& a, const T& b) { if (b < a) { a = b; return 1; } return 0; }



int main()
{
    cin.tie(0);
    ios::sync_with_stdio(false);

    //ll n;
    //cin >> n;

    //vector<ll> a(n);
    //vector<vector<ll>> x(n);
    //vector<vector<ll>> y(n);
    //for (int i = 0; i < n; i++)
    //{
    //    cin >> a[i];
    //    for (int j = 0; j < a[i]; j++)
    //    {
    //        ll tx, ty;
    //        cin >> tx >> ty;
    //        tx--;
    //        x[i].emplace_back(tx);
    //        y[i].emplace_back(ty);
    //    }
    //}


    //ll max = 0;
    //for (ll bit = 0; bit < (1<<n); ++bit) {
    //    vector<ll> isHonest(n, -1ll);
    //    bool hasContraditction = false;
    //    for (ll i = 0; i < n; ++i) {
    //        if (bit & (1 << i)) {
    //            // honest
    //            for (ll j = 0; j < a[i]; j++)
    //            {
    //                if (isHonest[x[i][j]] != -1ll && isHonest[x[i][j]] != y[i][j]) {
    //                    hasContraditction = true;
    //                    break; break;// contradiction
    //                }
    //                isHonest[x[i][j]] = y[i][j];
    //            }
    //        }
    //        else {
    //            // dishonest
    //            for (ll j = 0; j < a[i]; j++)
    //            {
    //                if (isHonest[x[i][j]] == 1ll) {
    //                    hasContraditction = true;
    //                    break; break; //contradiction
    //                }
    //                else {
    //                    if (y[i][j] == 1ll) {
    //                        if (isHonest[x[i][j]] == 1ll) {
    //                            hasContraditction = true;
    //                            break; break; //contradiction
    //                        }
    //                        isHonest[x[i][j]] = 0ll;
    //                    }
    //                    else {
    //                        if (isHonest[x[i][j]] == 0ll) {
    //                            hasContraditction = true;
    //                            break; break; //contradiction
    //                        }
    //                        isHonest[x[i][j]] = 1ll;
    //                    }
    //                }
    //            }
    //        }
    //    }
    //    if (hasContraditction) {
    //        continue;
    //    }
    //    ll sum = 0ll;
    //    for (const auto& e : isHonest) {
    //        if (e == 1ll) {
    //            sum++;
    //        }
    //    }
    //    max = max < sum ? sum : max;
    //}

    //cout << max << endl;

    string s;
    cin >> s;

    ll toNext = 0;
    if (s == "SUN") {
        toNext = 7;
    }
    else if (s == "MON") {
        toNext = 6;
    }
    else if (s == "TUE") {
        toNext = 5;
    }
    else if (s == "WED") {
        toNext = 4;
    }
    else if (s == "THU") {
        toNext = 3;
    }
    else if (s == "FRI") {
        toNext = 2;
    }
    else if (s == "SAT") {
        toNext = 1;
    }
    cout << toNext << endl;
    return 0;
}



Measured memory_bytes: 256