#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=15;
int f[N];
signed main(){
f[1]=31;
f[2]=28;
f[3]=31;
f[4]=30;
f[5]=31;
f[6]=30;
f[7]=31;
f[8]=31;
f[9]=30;
f[10]=31;
f[11]=30;
f[12]=31;
int Q;cin>>Q;
while(Q--){
int r;cin>>r;
int d,m,y;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=59){
d=r-30;
m=2;
}
else if(r<=90){
d=r-59;
m=3;
}
else if(r<=120){
d=r-90;
m=4;
}
else if(r<=151){
d=r-120;
m=5;
}
else if(r<=181){
d=r-151;
m=6;
}
else if(r<=212){
d=r-181;
m=7;
}
else if(r<=243){
d=r-212;
m=8;
}
else if(r<=273){
d=r-243;
m=9;
}
else if(r<=304){
d=r-273;
m=10;
}
else if(r<=334){
d=r-304;
m=11;
}
else if(r<=365){
d=r-334;
m=12;
}
if(r<=365){
cout<<d<<" "<<m<<" 4713 BC"<<endl;
continue;
}
if(r<=730){
y=4712;
r-=366;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1095){
y=4711;
r-=731;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1460){
y=4710;
r-=1096;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1721423){
int t=r/1461;
r%=1461;
y=4713-t*4;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=59){
d=r-30;
m=2;
}
else if(r<=90){
d=r-59;
m=3;
}
else if(r<=120){
d=r-90;
m=4;
}
else if(r<=151){
d=r-120;
m=5;
}
else if(r<=181){
d=r-151;
m=6;
}
else if(r<=212){
d=r-181;
m=7;
}
else if(r<=243){
d=r-212;
m=8;
}
else if(r<=273){
d=r-243;
m=9;
}
else if(r<=304){
d=r-273;
m=10;
}
else if(r<=334){
d=r-304;
m=11;
}
else if(r<=365){
d=r-334;
m=12;
}
if(r<=365){
cout<<d<<" "<<m<<" "<<y<<" BC"<<endl;
continue;
}
if(r<=730){
--y;
r-=366;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1095){
y-=2;
r-=731;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1460){
y-=3;
r-=1096;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
}
if(r<=1721423){
cout<<d<<" "<<m<<" "<<y<<" BC"<<endl;
continue;
}
else if(r<=2299160){
r-=1721424;
int t=r/1461;
r%=1461;
y=t*4;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
if(r<=364){
cout<<d<<" "<<m<<" "<<y+1<<endl;
continue;
}
if(r<=729){
y+=2;
r-=365;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1094){
y+=3;
r-=730;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1460){
y+=4;
r-=1095;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=59){
d=r-30;
m=2;
}
else if(r<=90){
d=r-59;
m=3;
}
else if(r<=120){
d=r-90;
m=4;
}
else if(r<=151){
d=r-120;
m=5;
}
else if(r<=181){
d=r-151;
m=6;
}
else if(r<=212){
d=r-181;
m=7;
}
else if(r<=243){
d=r-212;
m=8;
}
else if(r<=273){
d=r-243;
m=9;
}
else if(r<=304){
d=r-273;
m=10;
}
else if(r<=334){
d=r-304;
m=11;
}
else if(r<=365){
d=r-334;
m=12;
}
}
cout<<d<<" "<<m<<" "<<y<<endl;
}
else{
y=1583;
r-=2299160;
if(r<=17){
d=r+14;
m=10;
}
else if(r<=47){
d=r-17;
m=11;
}
else if(r<=78){
d=r-47;
m=12;
}
else{
r-=79;
int t=r/1461;
r%=1461;
y+=t*4;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
else if(r<=730){
++y;
r-=365;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=59){
d=r-30;
m=2;
}
else if(r<=90){
d=r-59;
m=3;
}
else if(r<=120){
d=r-90;
m=4;
}
else if(r<=151){
d=r-120;
m=5;
}
else if(r<=181){
d=r-151;
m=6;
}
else if(r<=212){
d=r-181;
m=7;
}
else if(r<=243){
d=r-212;
m=8;
}
else if(r<=273){
d=r-243;
m=9;
}
else if(r<=304){
d=r-273;
m=10;
}
else if(r<=334){
d=r-304;
m=11;
}
else if(r<=365){
d=r-334;
m=12;
}
}
else if(r<=1095){
y+=2;
r-=731;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
else if(r<=1460){
y+=3;
r-=1096;
if(r<=30){
d=r+1;
m=1;
}
else if(r<=58){
d=r-30;
m=2;
}
else if(r<=89){
d=r-58;
m=3;
}
else if(r<=119){
d=r-89;
m=4;
}
else if(r<=150){
d=r-119;
m=5;
}
else if(r<=180){
d=r-150;
m=6;
}
else if(r<=211){
d=r-180;
m=7;
}
else if(r<=242){
d=r-211;
m=8;
}
else if(r<=272){
d=r-242;
m=9;
}
else if(r<=303){
d=r-272;
m=10;
}
else if(r<=333){
d=r-303;
m=11;
}
else if(r<=364){
d=r-333;
m=12;
}
}
}
int a=y/100;
int u=a-15,p=(a-16)/4+1;
int ans=u-p;
if(((y%100==0&&y%4==0)&&(m<2||(m==2&&d<29)))) --ans;
bool t=0;
if((y%4==0&&y%100!=0)||y%400==0) t=1;
while(1){
if((!t&&ans>=365)){
ans-=365;
++y;
if((y%4==0&&y%100!=0)||y%400==0) t=1;
}
else if(t&&ans>365){
ans-=366;
++y;
t=0;
}
else break;
}
d+=ans;
if((y%4==0&&y%100!=0)||y%400==0) t=1;
while(1){
if((y%4==0&&y%100!=0)||y%400==0) t=1;
if(t) f[2]=29;
else f[2]=28;
if(d>f[m]){
d-=f[m];
++m;
if(m==13) m=1,++y;
}
else break;
}
cout<<d<<" "<<m<<" "<<y<<endl;
}
}
return 0;
}
~~代码有点长~~