#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;
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,month,day,number_of_days, number_of_samples;
cin>>number_of_samples;
while(number_of_samples--)
{
while( cin>>year>>month>>day>>number_of_days)
{
Date d(year,month,day);
d += number_of_days;
d.Print();
}
}
return 0;
}