#include <stdio.h>
int main()
{
int nian;
scanf( "%d", &nian );
//printf("%d\n",numdays(nian)%7);
//打印日期:
//printf("%d\n",monthdays(nian,2));
int month = 1;
int base = numdays(nian)%7;
int first = base + 1;
while( month<=12 ){
//printf("first = %d\n",first);
int i;
int day = 0;
{
int nian;
scanf( "%d", &nian );
//printf("%d\n",numdays(nian)%7);
//打印日期:
//printf("%d\n",monthdays(nian,2));
int month = 1;
int base = numdays(nian)%7;
int first = base + 1;
while( month<=12 ){
//printf("first = %d\n",first);
int i;
int day = 0;
printf("*Mon Tue Wed Thu Fri Sat Sun\n");
for( i=1; day<monthdays(nian,month) ; i++ ){
if( i >= first ){
day ++;
printf("%4d",day);
if( i%7==0 || day==monthdays(nian,month) ) printf("\n");
}else
{
printf(" ");
}
}
first = (first + monthdays(nian,month))%7;
if( first==0 ) first = 7;
month++;
}
return 0;
}
for( i=1; day<monthdays(nian,month) ; i++ ){
if( i >= first ){
day ++;
printf("%4d",day);
if( i%7==0 || day==monthdays(nian,month) ) printf("\n");
}else
{
printf(" ");
}
}
first = (first + monthdays(nian,month))%7;
if( first==0 ) first = 7;
month++;
}
return 0;
}
int is( int x ) //判断特殊年;
{
int flag = 0;
if( (x%4==0&&x%100!=0) || x%400==0 ){
flag = 1;
}
return flag;
}
int numdays( int x ) //返回这一年1月1号的总天数;
{
int i, cnt = 0;
for ( i=1; i<x; i++ ){
if(is(i)){
cnt++;
}
}
int firstdays;
firstdays = cnt*366 + (x-cnt-1)*365;
return firstdays;
}
int monthdays( int nian, int y ) //得出一个月的天数;
{
int days;
int a[12] = { 31,28,31,30,31,30,31,31,30,31,30,31};
if( is(nian) && y==2 ){
days = 29;
}
else{
days = a[y-1];
}
return days;
}
{
int flag = 0;
if( (x%4==0&&x%100!=0) || x%400==0 ){
flag = 1;
}
return flag;
}
int numdays( int x ) //返回这一年1月1号的总天数;
{
int i, cnt = 0;
for ( i=1; i<x; i++ ){
if(is(i)){
cnt++;
}
}
int firstdays;
firstdays = cnt*366 + (x-cnt-1)*365;
return firstdays;
}
int monthdays( int nian, int y ) //得出一个月的天数;
{
int days;
int a[12] = { 31,28,31,30,31,30,31,31,30,31,30,31};
if( is(nian) && y==2 ){
days = 29;
}
else{
days = a[y-1];
}
return days;
}