#include<cstdio>
#define int long long
using namespace std;
int q,r;
bool flag;
int ping[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int run[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
void solve1()
{
int tot=r/1461;
int year=4713-tot*4;
r-=tot*1461;
if(r>=366)
{
year--;
r-=366;
while(r>=0)
year--,r-=365;
if(r<0)
year++,r+=365;
}
int yue=1;
if((year-1)%4==0)//run
{
while(r-run[yue]>=0)
{
r-=run[yue];
yue++;
}
int ri=r+1;
printf("%lld %lld %lld BC\n",ri,yue,year);
}
else//ping
{
while(r-ping[yue]>=0)
{
r-=ping[yue];
yue++;
}
int ri=r+1;
printf("%lld %lld %lld BC\n",ri,yue,year);
}
}
void solve2()
{
flag=0;
r-=1721424;
if(r<=577736)
{
int tot=r/1461;
int year=1+tot*4;
r-=tot*1461;
tot=r/365;
if(tot==4)
tot--;
year+=tot;
r-=tot*365;
if(year%4==0)
flag=1;
int yue=1;
if(!flag)
{
while(r-ping[yue]>=0)
{
r-=ping[yue];
yue++;
}
}
else
{
while(r-run[yue]>=0)
{
r-=run[yue];
yue++;
}
}
int ri=r+1;
printf("%lld %lld %lld\n",ri,yue,year);
}
else if(r>577736)
{
r+=10;
r-=577736;
if(r<28)
{
printf("%lld 10 1582\n",4+r);
return;
}
else if(r<58)
{
r-=28;
printf("%lld 11 1582\n",1+r);
return;
}
else if(r<89)
{
r-=58;
printf("%lld 12 1582\n",1+r);
return;
}
else if(r<6664)
{
r-=89;
int year=1583;
int last=0;
while(r>=0)
{
if(year%4)
{
r-=365,year++;
last=0;
}
else
{
r-=366,year++;
last=1;
}
}
if(last==1)
r+=366,year--;
else
r+=365,year--;
int yue=1;
if(year%4)
{
while(r-ping[yue]>=0)
{
r-=ping[yue];
yue++;
}
}
else
{
while(r-run[yue]>=0)
{
r-=run[yue];
yue++;
}
}
int ri=1+r;
printf("%lld %lld %lld\n",ri,yue,year);
return;
}
else
{
r-=6664;
int tot=r/146097;
int year=1601+400*tot;
r-=146097*tot;
if(r==146096)
{
printf("31 12 %lld\n",year+399);
return;
}
while(r>=0)
year+=100,r-=36524;
if(r<0)
year-=100,r+=36524;
while(r>=0)
year+=4,r-=1461;
if(r<0)
year-=4,r+=1461;
tot=r/365;
if(tot==4)
tot--;
year+=tot;
r-=tot*365;
if((year%4==0 && year%100)||(year%400==0))
flag=1;
int yue=1;
if(!flag)
{
while(r-ping[yue]>=0)
{
r-=ping[yue];
yue++;
}
}
else
{
while(r-run[yue]>=0)
{
r-=run[yue];
yue++;
}
}
int ri=r+1;
printf("%lld %lld %lld\n",ri,yue,year);
}
}
}
signed main()
{
// freopen("julian.in","r",stdin);
// freopen("julian.out","w",stdout);
scanf("%lld",&q);
while(q--)
{
scanf("%lld",&r);
if(r<1721424)
solve1();
else
solve2();
}
return 0;
}