#include <stdio.h>
int isleap( int y )
{
if ( y % 4 == 0 && y % 100 != 0 || y % 400 == 0 )
return 1;
else return 0;
}
int legal( int y, int m, int d )
{
if ( y <= 0 || y >= 10000 || m <= 0 || m >= 13 || d <= 0 || d >= 32 )
return 0;
if ( ( m == 2 && ( isleap(y) == 0 ) && d >= 29 ) ||
( m == 2 && ( isleap(y) == 1 ) && d >= 30 ) )
return 0;
if ( (m == 4 || m == 6 || m == 9 || m == 11) && d == 31 )
return 0;
return 1;
}
int leap( int y )
{
int res = 0;
int i;
for ( i = 4; i < y; i += 4 ) {
if ( isleap(i) == 1 ) {
res++;
}
}
return res;
}
int work( int y, int m, int d )
{
int res = d;
int i;
int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for ( i = 1; i < m; ++i ) {
res += month[i];
}
res += 365 * (y-1);
res += leap(y);
if ( isleap(y) != 0 && m > 2 ) res++;
return res % 7;
}
int main()
{
int y, m, d;
int res;
while ( ~scanf( "%d %d %d", &y, &m, &d ) ) {
if ( legal(y, m, d) == 0 ) {
puts( "illegal" );
continue;
}
res = work(y, m, d);
switch(res) {
case 0: puts( "Sunday" ); break;
case 1: puts( "Monday" ); break;
case 2: puts( "Tuesday" ); break;
case 3: puts( "Wednesday" ); break;
case 4: puts( "Thursday" ); break;
case 5: puts( "Friday" ); break;
case 6: puts( "Saturday" ); break;
}
}
return 0;
}