#include <stdio.h>
int mt[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
void set2(int y)
{
if (y % 4 != 0)
{
mt[2] = 28;
}
else
{
if (y % 100 == 0 && y % 400 != 0)
mt[2] = 28;
else
mt[2] = 29;
}
}
void showmenu()
{
printf("1. y/n/d -> yd\n");
printf("2. yd -> y/n/d\n");
printf("3. exit\n");
}
int ymd2yd(int y, int m, int d)
{
set2(y);
int r = 0;
for (int i = 0; i < m; i++)
r += mt[i];
r += d;
return r;
}
void yd2ymd(int yd, int * r)
{
set2(r[0]);
int m = 0;
while (yd > mt[m])
{
yd -= mt[m++];
}
r[1] = m;
r[2] = yd;
}
int main()
{
char c;
showmenu();
while (scanf("%c", &c), 1)
{
switch (c)
{
case '1':
int y, int m, int d;
scanf("%d", &y);
scanf("%d", &m);
scanf("%d", &d);
printf("%d\n", ymd2yd(y, m, d));
showmenu();
break;
case '2':
int yd;
int r[3];
scanf("%d", &r[0]);
scanf("%d", &yd);
yd2ymd(yd, r);
printf("%d %d %d\n", r[0], r[1], r[2]);
showmenu();
break;
case '\n':
break;
default:
return 0;
}
}
return 0;
}