#include<bits/stdc++.h>
using namespace std;
const int bc=1721424;
const int ru=1461;
const int G=577737;
int D[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int q;
long long r;
int main(){
scanf("%d",&q);
while(q--){
scanf("%lld",&r);
r+=1;
if(r>bc){
r-=bc;
if(r>G){
long long js=(r-G)/36524;
r+=js;
long long os=(r-G)/146096;
r-=os;
r+=10;
}
int y=r/ru;
int d=r%ru;
if(d==0){
printf("31 12 %d\n",4*y);
continue;
}
if(d<=1155){
int yy=(d+365)/365-1;
if(d==1155){
printf("29 2 %d\n",4*y+yy+1);
continue;
}
int dd=d%365;
if(dd==0){
printf("31 12 %d\n",4*y+yy);
continue;
}
int i=1;
while(dd>D[i]){
dd-=D[i];
i++;
}
printf("%d %d %d\n",dd,i,4*y+yy+1);
continue;
}
else{
int yy=(d-1+365)/365-1;
int dd=(d-1)%365;
if(dd==0){
printf("31 12 %d\n",4*y+yy);
continue;
}
int i=1;
while(dd>D[i]){
dd-=D[i];
i++;
}
printf("%d %d %d\n",dd,i,4*y+yy+1);
}
}
else{
int y=r/ru;
int d=r%ru;
if(d==0){
printf("31 12 %d BC\n",4713-4*y+1);
continue;
}
if(d<=60){
printf("%d %d %d BC\n",d%31==0?31:d%31,d/32+1,4713-4*y);
continue;
}
int yy=(d-1+365)/365-1;
int dd=(d-1)%365;
if(dd==0){
printf("31 12 %d BC\n",4713-4*y-yy+1);
continue;
}
int i=1;
while(dd>D[i]){
dd-=D[i];
i++;
}
printf("%d %d %d BC\n",dd,i,4713-4*y-yy);
}
}
return 0;
}