#include <iostream>
#include <string>
using namespace std;
struct Month { string month; int days; } Monthk;
struct dayy { string month; int days; } daykk;
int main()
{
Month month[] = {
{ "January", 31 },
{ "February", 28 },
{ "March", 31 },
{ "April", 30 },
{ "May", 31 },
{ "June", 30 },
{ "July", 31 },
{ "August", 31 },
{ "September", 30 },
{ "October", 31 },
{ "November", 30 },
{ "December", 31 }
};
dayy day[] = {
{ "Monday", 1 },
{ "Tuesday", 2 },
{ "Wednesday", 3 },
{ "Thursday", 4 },
{ "Friday", 5 },
{ "Saturday ", 6 },
{ "Sunday", 7 }
};
int summ[7] = { 0, 0, 0, 0, 0, 0, 0 };
int n, year;
int a[366]; string b[366];
int day_i;
string day_s;
cin >> n;
cin >> year;
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
{
month[1].days = 29;
}
for (int i = 0; i < n; i++)
cin >> a[i] >> b[i];
cin >> day_s;
for (int i = 1; i<=7; i++)
if (day_s == day[i - 1].month) { day_i = day[i - 1].days; break; }
int sum = 0;
for (int i = 0; i < n; i++)
{
int day_ii = 0;
sum = 0;
for (int j = 0; b[i] != month[j].month; j++) sum += month[j].days;
sum += a[i];
day_ii = sum % 7 - 1 + day_i;
if (day_i>7) day_i -= 7;
for (int j = 1; j<=7; j++)
if (day_ii == j) summ[j-1]++;
}
int min = 0, max = 0,max_,min_;
for (int i = 1; i <= 7; i++)
{
if (summ[i - 1] > max) { max_ = i; max = summ[i - 1]; }
}
min = max;
for (int i = 1; i <= 7; i++)
{
if (summ[i - 1] < min) { min_ = i; min = summ[i - 1]; }
}
string maxd, mind;
for (int i = 1; i <= 7; i++)
{
if (max_ == i) maxd = day[i-1].month;
if (min_ == i) mind = day[i-1].month;
}
cout << mind << " "<<maxd;
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgTW9udGggeyBzdHJpbmcgbW9udGg7IGludCBkYXlzOyB9IE1vbnRoazsKc3RydWN0IGRheXkgeyBzdHJpbmcgbW9udGg7IGludCBkYXlzOyB9IGRheWtrOwppbnQgbWFpbigpCnsKCU1vbnRoIG1vbnRoW10gPSB7CgkJCXsgIkphbnVhcnkiLCAzMSB9LAoJCQl7ICJGZWJydWFyeSIsIDI4IH0sCgkJCXsgIk1hcmNoIiwgMzEgfSwKCQkJeyAiQXByaWwiLCAzMCB9LAoJCQl7ICJNYXkiLCAzMSB9LAoJCQl7ICJKdW5lIiwgMzAgfSwKCQkJeyAiSnVseSIsIDMxIH0sCgkJCXsgIkF1Z3VzdCIsIDMxIH0sCgkJCXsgIlNlcHRlbWJlciIsIDMwIH0sCgkJCXsgIk9jdG9iZXIiLCAzMSB9LAoJCQl7ICJOb3ZlbWJlciIsIDMwIH0sCgkJCXsgIkRlY2VtYmVyIiwgMzEgfQoJCX07CglkYXl5IGRheVtdID0gewoJCXsgIk1vbmRheSIsIDEgfSwKCQl7ICJUdWVzZGF5IiwgMiB9LAoJCXsgIldlZG5lc2RheSIsIDMgfSwKCQl7ICJUaHVyc2RheSIsIDQgfSwKCQl7ICJGcmlkYXkiLCA1IH0sCgkJeyAiU2F0dXJkYXkgIiwgNiB9LAoJCXsgIlN1bmRheSIsIDcgfQoJfTsKCglpbnQgc3VtbVs3XSA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCB9OwoJaW50IG4sIHllYXI7CglpbnQgYVszNjZdOyBzdHJpbmcgYlszNjZdOwoJaW50IGRheV9pOwoJc3RyaW5nIGRheV9zOwoJY2luID4+IG47CgljaW4gPj4geWVhcjsKCWlmICgoeWVhciAlIDQwMCA9PSAwKSB8fCAoeWVhciAlIDQgPT0gMCAmJiB5ZWFyICUgMTAwICE9IDApKQoJewoJCW1vbnRoWzFdLmRheXMgPSAyOTsKCX0KCglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKCQljaW4gPj4gYVtpXSA+PiBiW2ldOwoJY2luID4+IGRheV9zOwoKCWZvciAoaW50IGkgPSAxOyBpPD03OyBpKyspCgkJaWYgKGRheV9zID09IGRheVtpIC0gMV0ubW9udGgpIHsgZGF5X2kgPSBkYXlbaSAtIDFdLmRheXM7IGJyZWFrOyB9CgoJaW50IHN1bSA9IDA7Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKCXsKCQlpbnQgZGF5X2lpID0gMDsKCQlzdW0gPSAwOwoJCWZvciAoaW50IGogPSAwOyBiW2ldICE9IG1vbnRoW2pdLm1vbnRoOyBqKyspIHN1bSArPSBtb250aFtqXS5kYXlzOwoJCXN1bSArPSBhW2ldOwoJCWRheV9paSA9IHN1bSAlIDcgLSAxICsgZGF5X2k7CgkJaWYgKGRheV9pPjcpIGRheV9pIC09IDc7CgkJZm9yIChpbnQgaiA9IDE7IGo8PTc7IGorKykgCgkJCWlmIChkYXlfaWkgPT0gaikgc3VtbVtqLTFdKys7Cgl9CglpbnQgbWluID0gMCwgbWF4ID0gMCxtYXhfLG1pbl87Cglmb3IgKGludCBpID0gMTsgaSA8PSA3OyBpKyspCgl7CgkJaWYgKHN1bW1baSAtIDFdID4gbWF4KSB7IG1heF8gPSBpOyBtYXggPSBzdW1tW2kgLSAxXTsgfQoJfQoJbWluID0gbWF4OwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gNzsgaSsrKQoJewoJCWlmIChzdW1tW2kgLSAxXSA8IG1pbikgeyBtaW5fID0gaTsgbWluID0gc3VtbVtpIC0gMV07IH0KCX0KCXN0cmluZyBtYXhkLCBtaW5kOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gNzsgaSsrKQoJewoJCWlmIChtYXhfID09IGkpIG1heGQgPSBkYXlbaS0xXS5tb250aDsKCQlpZiAobWluXyA9PSBpKSBtaW5kID0gZGF5W2ktMV0ubW9udGg7Cgl9Cgljb3V0IDw8IG1pbmQgPDwgIiAiPDxtYXhkOwoJcmV0dXJuIDA7Cn0KCg==