#include <iostream>
using namespace std;
bool isLeap(int y) {
return (y % 4 == 0 && y % 100 != 0) || (y % 400 == 0);
}
int daysInMonth(int m, int y) {
int d[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (m == 2 && isLeap(y)) return 29;
return d[m];
}
int main() {
int d, m, y, k;
cin >> d >> m >> y >> k;
int numDays = daysInMonth(m, y);
int thu1 = ((k - (d - 1)) % 7 + 7) % 7;
if (thu1 == 0) thu1 = 7;
int thuCuoi = (thu1 + numDays - 1) % 7;
if (thuCuoi == 0) thuCuoi = 7;
int thuHaiDau = 0;
for (int i = 1, t = thu1; i <= numDays; ++i, t = t % 7 + 1) {
if (t == 2) {
thuHaiDau = i;
break;
}
}
int chuNhatCuoi = 0;
for (int i = 1, t = thu1; i <= numDays; ++i, t = t % 7 + 1) {
if (t == 8) chuNhatCuoi = i;
}
cout << numDays << endl;
cout << thuHaiDau << endl;
cout << chuNhatCuoi << endl;
cout << thu1 << endl;
cout << thuCuoi << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBpc0xlYXAoaW50IHkpIHsKICAgIHJldHVybiAoeSAlIDQgPT0gMCAmJiB5ICUgMTAwICE9IDApIHx8ICh5ICUgNDAwID09IDApOwp9CgppbnQgZGF5c0luTW9udGgoaW50IG0sIGludCB5KSB7CiAgICBpbnQgZFtdID0gezAsIDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzF9OwogICAgaWYgKG0gPT0gMiAmJiBpc0xlYXAoeSkpIHJldHVybiAyOTsKICAgIHJldHVybiBkW21dOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBkLCBtLCB5LCBrOwogICAgY2luID4+IGQgPj4gbSA+PiB5ID4+IGs7CgogICAgaW50IG51bURheXMgPSBkYXlzSW5Nb250aChtLCB5KTsKCiAgICBpbnQgdGh1MSA9ICgoayAtIChkIC0gMSkpICUgNyArIDcpICUgNzsKICAgIGlmICh0aHUxID09IDApIHRodTEgPSA3OwoKICAgIGludCB0aHVDdW9pID0gKHRodTEgKyBudW1EYXlzIC0gMSkgJSA3OwogICAgaWYgKHRodUN1b2kgPT0gMCkgdGh1Q3VvaSA9IDc7CgogICAgaW50IHRodUhhaURhdSA9IDA7CiAgICBmb3IgKGludCBpID0gMSwgdCA9IHRodTE7IGkgPD0gbnVtRGF5czsgKytpLCB0ID0gdCAlIDcgKyAxKSB7CiAgICAgICAgaWYgKHQgPT0gMikgewogICAgICAgICAgICB0aHVIYWlEYXUgPSBpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgaW50IGNodU5oYXRDdW9pID0gMDsKICAgIGZvciAoaW50IGkgPSAxLCB0ID0gdGh1MTsgaSA8PSBudW1EYXlzOyArK2ksIHQgPSB0ICUgNyArIDEpIHsKICAgICAgICBpZiAodCA9PSA4KSBjaHVOaGF0Q3VvaSA9IGk7CiAgICB9CgogICAgY291dCA8PCBudW1EYXlzIDw8IGVuZGw7CiAgICBjb3V0IDw8IHRodUhhaURhdSA8PCBlbmRsOwogICAgY291dCA8PCBjaHVOaGF0Q3VvaSA8PCBlbmRsOwogICAgY291dCA8PCB0aHUxIDw8IGVuZGw7CiAgICBjb3V0IDw8IHRodUN1b2kgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=