#include <iostream>
using namespace std;
#include <assert.h>
class Date
{
public:
Date(int year = 0,int month = 0,int day = 0)
:_year(year)
,_month(month)
,_day(day)
{}
inline int GetMonthDay(int year, int month)
{
assert(month > 0 && month < 13);
static int monthDayArray[13] = { -1, 31, 28, 31, 30, 31, 30, 31, 31, 30,31, 30, 31 };
// 365天 5h +
if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || (year % 400 ==0)))
{
return 29;
}
else
{
return monthDayArray[month];
}
}
void Print()
{
// cout<<_year<<"-"<<_month<<"-"<<_day<<endl;
//输出把我打败了
printf("%04d-%02d-%02d\n",_year,_month,_day);
}
Date& operator+=(int day)
{
_day += day;
// =不执行,比如下个月28,则就是x月28天
while(_day>GetMonthDay(_year,_month))
{
_day -= GetMonthDay(_year, _month);
++_month;
if(_month == 13)
{
_month = 1;
++_year;
}
}
return *this;
}
private:
int _year;
int _month;
int _day;
};
int main() {
int year = 0;
int numbers_of_day = 0;
while(scanf("%d%d",&year,&numbers_of_day)!=EOF)
{
Date d(year,1,0);
d+=numbers_of_day;
d.Print();
}
return 0;
}