#include<cstdio>
using namespace std;
int Y,M,D;
inline int read(void){
register int ans=0;
register char us=getchar();
while(us<'0'||us>'9')us=getchar();
while(us>='0'&&us<='9'){
ans=(ans<<1)+(ans<<3)+(us^48);
us=getchar();
}
return ans;
}
inline long long readl(void){
long long ans=0;
register char us=getchar();
while(us<'0'||us>'9')us=getchar();
while(us>='0'&&us<='9'){
ans=(ans<<1)+(ans<<3)+(us^48);
us=getchar();
}
return ans;
}
bool R(void){
if((Y-1)%4==0)return true;
return false;
}
bool R1(void){
if(Y%4==0)return true;
return false;
}
bool R2(void){
if(Y%400==0||Y%4==0&&Y%100!=0)return true;
return false;
}
long long r;
void julian(){
if(r<=1721423){
Y=4713-(r/1461*4);
++r;
r%=1461;
if(r>=1&&r<367);
if(r>=367&&r<732){
r-=366;
Y-=1;
}
if(r>=732&&r<1097){
r-=731;
Y-=2;
}
if(r>=1097){
r-=1096;
Y-=3;
}
if(!R()){
if(r>=1&&r<32){
M=1;
D=r;
}
if(r>=32&&r<60){
M=2;
D=r-31;
}
if(r>=60&&r<91){
M=3;
D=r-59;
}
if(r>=91&&r<121){
M=4;
D=r-90;
}
if(r>=121&&r<152){
M=5;
D=r-120;
}
if(r>=152&&r<182){
M=6;
D=r-151;
}
if(r>=182&&r<213){
M=7;
D=r-181;
}
if(r>=213&&r<244){
M=8;
D=r-212;
}
if(r>=244&&r<274){
M=9;
D=r-243;
}
if(r>=274&&r<305){
M=10;
D=r-273;
}
if(r>=305&&r<335){
M=11;
D=r-304;
}
if(r>=335&&r<366){
M=12;
D=r-334;
}
}
else{
if(r>=1&&r<32){
M=1;
D=r;
}
if(r>=32&&r<61){
M=2;
D=r-31;
}
if(r>=61&&r<92){
M=3;
D=r-60;
}
if(r>=92&&r<122){
M=4;
D=r-91;
}
if(r>=122&&r<153){
M=5;
D=r-121;
}
if(r>=153&&r<183){
M=6;
D=r-152;
}
if(r>=183&&r<214){
M=7;
D=r-182;
}
if(r>=214&&r<245){
M=8;
D=r-213;
}
if(r>=245&&r<275){
M=9;
D=r-244;
}
if(r>=275&&r<306){
M=10;
D=r-274;
}
if(r>=306&&r<336){
M=11;
D=r-305;
}
if(r>=336&&r<367){
M=12;
D=r-335;
}
}
printf("%d %d %d BC\n",D,M,Y);
}
else {
r-=1721423;
if(r<=577737){
Y=(r/1461*4);
r%=1461;
if(r>=1&&r<366)Y+=1;
if(r>=366&&r<731){
r-=365;
Y+=2;
}
if(r>=731&&r<1096){
r-=730;
Y+=3;
}
if(r>=1096){
r-=1095;
Y+=4;
}
if(!R1()){
if(r>=1&&r<32){
M=1;
D=r;
}
if(r>=32&&r<60){
M=2;
D=r-31;
}
if(r>=60&&r<91){
M=3;
D=r-59;
}
if(r>=91&&r<121){
M=4;
D=r-90;
}
if(r>=121&&r<152){
M=5;
D=r-120;
}
if(r>=152&&r<182){
M=6;
D=r-151;
}
if(r>=182&&r<213){
M=7;
D=r-181;
}
if(r>=213&&r<244){
M=8;
D=r-212;
}
if(r>=244&&r<274){
M=9;
D=r-243;
}
if(r>=274&&r<305){
M=10;
D=r-273;
}
if(r>=305&&r<335){
M=11;
D=r-304;
}
if(r>=335&&r<366){
M=12;
D=r-334;
}
}
else{
if(r>=1&&r<32){
M=1;
D=r;
}
if(r>=32&&r<61){
M=2;
D=r-31;
}
if(r>=61&&r<92){
M=3;
D=r-60;
}
if(r>=92&&r<122){
M=4;
D=r-91;
}
if(r>=122&&r<153){
M=5;
D=r-121;
}
if(r>=153&&r<183){
M=6;
D=r-152;
}
if(r>=183&&r<214){
M=7;
D=r-182;
}
if(r>=214&&r<245){
M=8;
D=r-213;
}
if(r>=245&&r<275){
M=9;
D=r-244;
}
if(r>=275&&r<306){
M=10;
D=r-274;
}
if(r>=306&&r<336){
M=11;
D=r-305;
}
if(r>=336&&r<367){
M=12;
D=r-335;
}
}
}
else{
r-=577737;
r+=277;
Y=1582+(r/146097*400);
r%=146097;
Y+=(r/36524*100);
r%=36524;
Y+=(r/1461*4);
r%=1461;
--Y;
if(r>=1&&r<366)Y+=1;
if(r>=366&&r<731){
r-=365;
Y+=2;
}
if(r>=731&&r<1096){
r-=730;
Y+=3;
}
if(r>=1096){
r-=1095;
Y+=4;
}
if(!R2()){
if(r>=1&&r<32){
M=1;
D=r;
}
if(r>=32&&r<60){
M=2;
D=r-31;
}
if(r>=60&&r<91){
M=3;
D=r-59;
}
if(r>=91&&r<121){
M=4;
D=r-90;
}
if(r>=121&&r<152){
M=5;
D=r-120;
}
if(r>=152&&r<182){
M=6;
D=r-151;
}
if(r>=182&&r<213){
M=7;
D=r-181;
}
if(r>=213&&r<244){
M=8;
D=r-212;
}
if(r>=244&&r<274){
M=9;
D=r-243;
}
if(r>=274&&r<305){
M=10;
D=r-273;
}
if(r>=305&&r<335){
M=11;
D=r-304;
}
if(r>=335&&r<366){
M=12;
D=r-334;
}
}
else{
if(r>=1&&r<32){
M=1;
D=r;
}
if(r>=32&&r<61){
M=2;
D=r-31;
}
if(r>=61&&r<92){
M=3;
D=r-60;
}
if(r>=92&&r<122){
M=4;
D=r-91;
}
if(r>=122&&r<153){
M=5;
D=r-121;
}
if(r>=153&&r<183){
M=6;
D=r-152;
}
if(r>=183&&r<214){
M=7;
D=r-182;
}
if(r>=214&&r<245){
M=8;
D=r-213;
}
if(r>=245&&r<275){
M=9;
D=r-244;
}
if(r>=275&&r<306){
M=10;
D=r-274;
}
if(r>=306&&r<336){
M=11;
D=r-305;
}
if(r>=336&&r<367){
M=12;
D=r-335;
}
}
}
printf("%d %d %d\n",D,M,Y);
}
}
int main(){
int Q;
Q=read();
register int i;
for(i=0;i<Q;++i){
r=readl();
julian();
}
}