#include <stdio.h>//第0講演習 3-4
int is_uruu(int year){
if(year%4==0){
if(year%100==0){
if(year%400==0) return 1;
else return 0;
}
else return 1;
}
else return 0;
}
int maxday_of_month(int y, int m){
if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12){
return 31;
}
else if(m==4 || m==6 || m==9 || m==11){
return 30;
}
else if(m==2){
int a;
a=is_uruu(y);
if(a==1) return 29;
else if (a==0) return 28;
}
}
int days_from(int y, int m, int d){
int i,s=0;
for(i=1;i<m;i++){
s=s+maxday_of_month(y,i);
}
return s+d;
}
int hi_year(int y){
int i,j=0,a;
for(i=1900;i<y;i++){
a=is_uruu(i);
if(a==1) j=j+366;
else if(a==0) j=j+365;
}
return j;
}
int suu_yobi(int y, int m, int d){
int a,b,c;
a=hi_year(y);
b=days_from(y,m,d);
c=(a+b)%7;
if(c==0) return 0;
else if(c==1) return 1;
else if(c==2) return 2;
else if(c==3) return 3;
else if(c==4) return 4;
else if(c==5) return 5;
else if(c==6) return 6;
}
int main() {
int year,month,day,yobi;
scanf("%d %d %d",&year
,&month
,&day
); yobi=suu_yobi(year,month,day);
printf("西暦%d年%d月%d日は、",year
,month
,day
); else if(yobi
==1) printf("月曜日である"); else if(yobi
==2) printf("火曜日である"); else if(yobi
==3) printf("水曜日である"); else if(yobi
==4) printf("木曜日である"); else if(yobi
==5) printf("金曜日である"); else if(yobi
==6) printf("土曜日である"); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ly/nrKzvvJDorJvmvJTnv5IgMy00CgppbnQgaXNfdXJ1dShpbnQgeWVhcil7CglpZih5ZWFyJTQ9PTApewoJCWlmKHllYXIlMTAwPT0wKXsKCQkJaWYoeWVhciU0MDA9PTApIHJldHVybiAxOwoJCQllbHNlIHJldHVybiAwOwoJCX0KCQllbHNlIHJldHVybiAxOwoJfQoJZWxzZSByZXR1cm4gMDsKfQppbnQgbWF4ZGF5X29mX21vbnRoKGludCB5LCBpbnQgbSl7CglpZihtPT0xIHx8IG09PTMgfHwgbT09NSB8fCBtPT03IHx8IG09PTggfHwgbT09MTAgfHwgbT09MTIpewoJCXJldHVybiAzMTsKCX0KCWVsc2UgaWYobT09NCB8fCBtPT02IHx8IG09PTkgfHwgbT09MTEpewoJCXJldHVybiAzMDsKCX0KCWVsc2UgaWYobT09Mil7CgkJaW50IGE7CgkJYT1pc191cnV1KHkpOwoJCWlmKGE9PTEpIHJldHVybiAyOTsKCQllbHNlIGlmIChhPT0wKSByZXR1cm4gMjg7Cgl9Cn0KaW50IGRheXNfZnJvbShpbnQgeSwgaW50IG0sIGludCBkKXsKCWludCBpLHM9MDsKCWZvcihpPTE7aTxtO2krKyl7CgkJcz1zK21heGRheV9vZl9tb250aCh5LGkpOwoJfQoJcmV0dXJuIHMrZDsKfQppbnQgaGlfeWVhcihpbnQgeSl7CglpbnQgaSxqPTAsYTsKCWZvcihpPTE5MDA7aTx5O2krKyl7CgkJYT1pc191cnV1KGkpOwoJCWlmKGE9PTEpIGo9aiszNjY7CgkJZWxzZSBpZihhPT0wKSBqPWorMzY1OwoJfQoJcmV0dXJuIGo7Cn0KaW50IHN1dV95b2JpKGludCB5LCBpbnQgbSwgaW50IGQpewoJaW50IGEsYixjOwoJYT1oaV95ZWFyKHkpOwoJYj1kYXlzX2Zyb20oeSxtLGQpOwoJYz0oYStiKSU3OwoJaWYoYz09MCkgcmV0dXJuIDA7CgllbHNlIGlmKGM9PTEpIHJldHVybiAxOwoJZWxzZSBpZihjPT0yKSByZXR1cm4gMjsKCWVsc2UgaWYoYz09MykgcmV0dXJuIDM7CgllbHNlIGlmKGM9PTQpIHJldHVybiA0OwoJZWxzZSBpZihjPT01KSByZXR1cm4gNTsKCWVsc2UgaWYoYz09NikgcmV0dXJuIDY7Cn0KaW50IG1haW4oKSB7CglpbnQgeWVhcixtb250aCxkYXkseW9iaTsKCXNjYW5mKCIlZCAlZCAlZCIsJnllYXIsJm1vbnRoLCZkYXkpOwoJeW9iaT1zdXVfeW9iaSh5ZWFyLG1vbnRoLGRheSk7CglwcmludGYoIuilv+aapiVk5bm0JWTmnIglZOaXpeOBr+OAgSIseWVhcixtb250aCxkYXkpOwoJaWYoeW9iaT09MCkgcHJpbnRmKCLml6Xmm5zml6XjgafjgYLjgosiKTsKCWVsc2UgaWYoeW9iaT09MSkgcHJpbnRmKCLmnIjmm5zml6XjgafjgYLjgosiKTsKCWVsc2UgaWYoeW9iaT09MikgcHJpbnRmKCLngavmm5zml6XjgafjgYLjgosiKTsKCWVsc2UgaWYoeW9iaT09MykgcHJpbnRmKCLmsLTmm5zml6XjgafjgYLjgosiKTsKCWVsc2UgaWYoeW9iaT09NCkgcHJpbnRmKCLmnKjmm5zml6XjgafjgYLjgosiKTsKCWVsc2UgaWYoeW9iaT09NSkgcHJpbnRmKCLph5Hmm5zml6XjgafjgYLjgosiKTsKCWVsc2UgaWYoeW9iaT09NikgcHJpbnRmKCLlnJ/mm5zml6XjgafjgYLjgosiKTsKCXJldHVybiAwOwp9Cg==