#include <iostream>
using namespace std;
class Date {
private:
int _year;
int _month;
int _day;
public:
//构造函数
Date(int year = 1900, int month = 1, int day = 1);
//拷贝构造函数
Date(const Date& d);
//每月天数
int GetMonthDay();
//若干天后
Date& operator+=(int day);
//输出
void Print() const;
};
Date::Date(int year, int month, int day)
:_year(year)
,_month(month)
,_day(day)
{}
Date::Date(const Date& d)
:_year(d._year)
,_month(d._month)
,_day(d._day)
{}
int Date::GetMonthDay() {
if (_month == 1 || _month == 3 || _month == 5 || _month == 7 ||
_month == 8 ||_month == 10 || _month == 12) {
return 31;
}
if (_month == 2) {
if (_year % 4 == 0 && _year % 100 != 0) {
return 29;
} else if (_year % 400 == 0) {
return 29;
}
return 28;
}
return 30;
}
Date& Date::operator+=(int day) {
int get = GetMonthDay();
while (day > get) {
day -= get;
if (++_month > 12) {
_month = 1;
++_year;
}
get = GetMonthDay();
if (_day > get) {
day += (_day - get);
_day = get;
}
}
_day += day;
if (_day > get) {
if (++_month > 12) {
_month = 1;
++_year;
}
_day -= get;
}
return *this;
}
void Date::Print() const{
if (_month >= 10 && _day >= 10) {
cout << _year << "-" << _month << "-" << _day << endl;
} else if (_month >= 10 && _day < 10) {
cout << _year << "-" << _month << "-" << 0 << _day << endl;
} else if (_month < 10 && _day < 10) {
cout << _year << "-" << 0 << _month << "-" << 0 << _day << endl;
} else if (_month < 10 && _day >= 10) {
cout << _year << "-" << 0 << _month << "-" << _day << endl;
}
}
int main() {
int year, month, day;
int add_day;
int count;
cin >> count;
while (count--) {
cin >> year >> month >> day >> add_day;
Date d(year, month, day);
d += add_day;
d.Print();
}
return 0;
}