//#include<stdio.h>
#include<iostream>//2348036 2010-04-16 14:16:54 Accepted 2133 15MS 232K 1474 B C++ 悔惜晟
#include<cstdio>
using namespace std;
char s[7][11]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
int leap(int n)
{
if((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)
return 1;
else
return 0;
}
int main()
{
int year1[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};// 平年
int year2[13]={0,31,29,31,30,31,30,31,31,30,31,30,31}; // 润年
int year,month,date,i,flag,tem;
while(scanf("%d %d %d",&year,&month,&date) ==3)
{
if(month<1 || year>9999 || year<1 || month>12 || date <= 0 ) // data < 0 的情况没有考虑到,错了好多篇,以为是没有错误的了
{ // 看了论坛我才知道问题出现在这里
printf("illegal/n");
continue;
}
if(leap(year)) // 如果是润年
{
if(date > year2[month])
{
printf("illegal/n");
continue;
}
}
else // 如果是平年
{
if(date > year1[month])
{
printf("illegal/n");
continue;
}
}
flag=0;
for( i = 2; i <= year; i++)
{
if(leap(i-1))
flag += 366;
else
flag += 365;
}
if( leap(year) ) // 如果是润年
{
for( i = 1; i < month; i++)
flag += year2[i];
}
else // 如果是平年
{
for(i = 1;i < month; i++)
flag += year1[i];
}
flag += date;
tem = flag % 7;
printf("%s/n",s[tem]);
}
return 0;
}