#include<bits/stdc++.h>
using namespace std;

bool leap_judge(int a)
{
	return (((a%4==0)&&(a%100!=0))||a%400==0);
}

int main()
{
	int m1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	int m2[12]={31,29,31,30,31,30,31,31,30,31,30,31};
	vector<int> r;//存储结果 
	int n;		
	int a,b,c,d;
	int leave;//这一年还留下多少天 
	scanf("%d\n",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%d %d %d %d",&a,&b,&c,&d);
		while(d!=0)
		{
			//闰年			
			if(leap_judge(a))
			{
				leave=0;
				for(int j=b;j<12;j++)
				{
					leave=leave+m2[j];
				}
				leave=leave+m2[b-1]-c;//算出还有这一年中还有多少天 
				//printf("%d",leave);
				if(d>leave)
				{
					d=d-leave;
					a=a+1;
					b=1;
					c=0;
				}
				else
				{
					while(true)
					{
						if(d>(m2[b-1]-c))
						{
							d=d-m2[b-1]+c;
							b=b+1;
							c=0;
						}
						else
						{
							r.push_back(a);
							r.push_back(b);
							r.push_back(d);
							d=0;
							break;
						}
					} 
				}
			}//下面是平年 
			else 
			{
				leave=0;
				for(int j=b;j<12;j++)
				{
					leave=leave+m1[j];
				}
				leave=leave+m1[b-1]-c;//算出还有这一年中还有多少天 
				if(d>leave)
				{
					d=d-leave;
					a=a+1;
					b=1;
					c=0;
				}
				else
				{
					while(true)
					{
						if(d>(m1[b-1]-c))
						{
							d=d-m1[b-1]+c;
							b=b+1;
							c=0;
						}
						else
						{
							r.push_back(a);
							r.push_back(b);
							r.push_back(d);
							d=0;
							break;
						}
					} 
				}
			} 

		}
			
	}

	//输出部分
	for(int i=0;i<r.size()/3;i++)
	{	
		printf("%04d-%02d-%02d\n",r[3*i],r[3*i+1],r[3*i+2]);	
	} 
	
}