#include <stdio.h>
int is_uruu(int year){
if(year%400==0){
return 29;
}else if(year%100==0){
}else if(year%4==0){
return 29;
}
return 28;
}
int maxday_of_month(int y,int m){
if(m==2){
return is_uruu(y);
}else if(m==4||m==6||m==9||m==11){
return 30;
}else{
return 31;
}
}
int days_from(int y,int m){
int i,j,sum;
for(j=1;j<y;j++){
for(i=1;i<13;i++){
sum=sum+maxday_of_month(j,i);
}
}
for(i=1;i<m;i++){
sum=sum+maxday_of_month(y,i);
}
return sum;
}
int main(void) {
int i,j,y,m,week,days=0,dayc;
week=days_from(y,m)%7;
dayc=maxday_of_month(y,m);
printf("Su Mo Tu We Th Fr Sa"); while(days<dayc){
for(i=0;i<7;i++){
if(i<=week&&days==0){
}else{
if(days==dayc){
break;
}else{
days=days+1;
if(days<10){
}
}
}
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgaXNfdXJ1dShpbnQgeWVhcil7CglpZih5ZWFyJTQwMD09MCl7CgkJcmV0dXJuIDI5OwoJfWVsc2UgaWYoeWVhciUxMDA9PTApewoJfWVsc2UgaWYoeWVhciU0PT0wKXsKCQlyZXR1cm4gMjk7Cgl9CglyZXR1cm4gMjg7Cn0KCmludCBtYXhkYXlfb2ZfbW9udGgoaW50IHksaW50IG0pewoJaWYobT09Mil7CgkJcmV0dXJuIGlzX3VydXUoeSk7Cgl9ZWxzZSBpZihtPT00fHxtPT02fHxtPT05fHxtPT0xMSl7CgkJcmV0dXJuIDMwOwoJfWVsc2V7CgkJcmV0dXJuIDMxOwoJfQp9CgppbnQgZGF5c19mcm9tKGludCB5LGludCBtKXsKCWludCBpLGosc3VtOwoJZm9yKGo9MTtqPHk7aisrKXsKCQlmb3IoaT0xO2k8MTM7aSsrKXsKCQkJc3VtPXN1bSttYXhkYXlfb2ZfbW9udGgoaixpKTsKCQl9Cgl9Cglmb3IoaT0xO2k8bTtpKyspewoJCXN1bT1zdW0rbWF4ZGF5X29mX21vbnRoKHksaSk7Cgl9CglyZXR1cm4gc3VtOwp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQgaSxqLHksbSx3ZWVrLGRheXM9MCxkYXljOwoJc2NhbmYoIiVkIiwmeSk7CglzY2FuZigiJWQiLCZtKTsKCXdlZWs9ZGF5c19mcm9tKHksbSklNzsKCWRheWM9bWF4ZGF5X29mX21vbnRoKHksbSk7CglwcmludGYoIiVk5bm0ICVk5pyIXG4iLHksbSk7CglwcmludGYoIlN1IE1vIFR1IFdlIFRoIEZyIFNhIik7Cgl3aGlsZShkYXlzPGRheWMpewoJCXByaW50ZigiXG4iKTsKCQlmb3IoaT0wO2k8NztpKyspewoJCQlpZihpPD13ZWVrJiZkYXlzPT0wKXsKCQkJCXByaW50ZigiICAgIik7CgkJCX1lbHNlewoJCQkJaWYoZGF5cz09ZGF5Yyl7CgkJCQlicmVhazsJCgkJCQl9ZWxzZXsKCQkJCQlkYXlzPWRheXMrMTsKCQkJCQlpZihkYXlzPDEwKXsKCQkJCQkJcHJpbnRmKCIgIik7CgkJCQkJfQoJCQkJCXByaW50ZigiJWQgIixkYXlzKTsKCQkJCX0KCQkJfQoJCX0KCX0KCXJldHVybiAwOwp9Cg==