#include <stdio.h>

int riqi(int b,int c,int d,int e){
	int max1[15]={0,31,29,31,30,31,30,31,31,30,31,30,31,31};
	int max2[15]={0,31,28,31,30,31,30,31,31,30,31,30,31,31};
	int f = 0;
	f = f + d;
	if((b%4==0&&b%100!=0)||(b%400==0)){
		for(int  j = 1 ; j < c ; j++){
			f = f + max1[j];
		}
		f = f + e;
		while(f > 366){
			if((b%4==0&&b%100!=0)||(b%400==0)){
				f = f - 366;
			}
			else{
				f = f - 365;
			}
			b++;
		}
	}
	
	else{
		for(int  j = 1 ; j < c ; j++){
			f = f + max2[j];
		}
		f = f + e;
		while(f > 365){
			if((b%4==0&&b%100!=0)||(b%400==0)){
				f = f - 366;
			}
			else{
				f = f - 365;
			}
			b++;
		}
	}
	if((b%4==0&&b%100!=0)||(b%400==0)){
		for(int k = 1;k < 13;k++){
			if(f <= max1[k]){
				printf("%04d-%02d-%02d\n",b,k,f);
				return 0;
			}
			f = f - max1[k];
		}
	}
	else{
		for(int k = 1;k < 13;k++){
			if(f <= max2[k]){
				printf("%04d-%02d-%02d\n",b,k,f);
				return 0;
			}
			f = f - max2[k];
		}
	}
	
	return 0;
}



int main(){
	int riqi(int,int,int,int);
	int a,b,c,d,e;
	scanf("%d",&a);
	for(int i = 0;i < a;i++){
		scanf("%d %d %d %d",&b,&c,&d,&e);
		riqi(b,c,d,e);
	}
	return 0;
}