#include <cstdio>
#include "string"
#include "map" // 引入map
using namespace std; // c++ 标准
/*
输入:
9 October 2001
14 October 2001
输出:
Tuesday
Sunday
*/
int main () {
char str[1000];
int year, month, day, curr_year = 2023, curr_month = 2, curr_day = 8;
string mon;
map<string, int> months = {
{"January", 1}, {"February", 2}, {"March", 3}, {"April", 4}, {"May", 5}, {"June", 6},
{"July", 7}, {"August", 8}, {"September", 9}, {"October", 10}, {"November", 11}, {"December", 12}
};
map<int, string> weeks = {
{0, "Sunday"}, {1, "Monday"}, {2, "Tuesday"}, {3, "Wednesday"},
{4, "Thursday"}, {5, "Friday"}, {6, "Saturday"}
};
int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 2023-02-08 三
// 9 October 2001
int start_year, start_month, start_day, target_year, target_month, target_day;
bool is_before_day = false;
while (EOF != scanf("%d %s %d", &day, str, &year)) {
mon = str; // c字符串 转换为 c++字符串
// printf("%04d-%02d-%02d\n", year, months[mon], day); // 2001-10-09
month = months[mon];
// 从开始日期 往 目标日期推 数有多少天
if (year < curr_year || curr_year == year && month < curr_month ||
curr_year == year && curr_month == month && day < curr_day) {
is_before_day = true;
}
if (is_before_day) {
start_day = day;
start_month = month;
start_year = year;
target_day = curr_day;
target_month = curr_month;
target_year = curr_year;
} else {
start_day = curr_day;
start_month = curr_month;
start_year = curr_year;
target_day = day;
target_month = month;
target_year = year;
}
int total_days = 0;
while (true) {
if (start_year == target_year && start_month == target_month &&
start_day == target_day) {
break;
}
start_year % 400 == 0 || start_year % 100 != 0 &&
start_year % 4 == 0 ? days[2] = 29 : days[2] = 28;
total_days++;
start_day++;
if (start_day > days[start_month]) {
start_day = 1;
start_month++;
if (start_month > 12) {
start_month = 1;
start_year++;
}
}
}
if (is_before_day) {
printf("%s\n", weeks[(10 - total_days % 7) % 7].c_str());
} else {
printf("%s\n", weeks[(total_days + 3) % 7].c_str());
}
}
}