#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;
}