#include<cstdio>
#include<iostream>
#include<cstring>
#define ll long long
#define R register
using namespace std;
const int months[15]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
const int monthr[15]={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
ll Month();
ll Monthr();
ll read()
{
R ll x = 0, f = 1;
R char ch = getchar();
while(ch > '9' || ch < '0')
{
if(ch == '-')
f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9')
{
x = x*10 + ch-'0';
ch = getchar();
}
return x*f;
}
int tmp[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
void calc1(ll r)
{
ll year = r/1461*4;
r %= 1461;
bool flag = true;
if(r >= 366)
r -= 366, year++, flag = false;
if(flag == false)
year += (r/365), r %= 365;
if(r == 0)
{
printf("%lld %lld %lld BC\n", 31, 12, 4713-year+1);
return;
}
for(R int i = 1; i <= 12; ++i)
{
if(i == 2 && flag == true)
{
if(r > 29)
{
r -= 29;
continue;
}
else
{
printf("%lld %lld %lld BC\n", r, i, 4713-year);
break;
}
}
if(r > tmp[i])
r -= tmp[i];
else
{
printf("%lld %lld %lld BC\n", r, i, 4713-year);
break;
}
}
return;
}
void calc2(ll r)
{
if(r <= 577737)
{
ll year = r/1461*4+1;
r %= 1461;
bool flag = false;
if(r >= 1095)
r -= 1095, year += 3, flag = true;
if(flag == false)
year += (r/365), r %= 365;
if(r == 0)
{
printf("%lld %lld %lld\n", 31, 12, year-1);
return;
}
for(R int i = 1; i <= 12; ++i)
{
if(i == 2 && flag == true)
{
if(r > 29)
{
r -= 29;
continue;
}
else
{
printf("%lld %lld %lld\n", r, i, year+1);
break;
}
}
if(r > tmp[i])
r -= tmp[i];
else
{
printf("%lld %lld %lld\n", r, i, year+1);
break;
}
}
}
else
{
r += 10-12;
ll year = r/146097*400;
r %= 146097;
year += r/36524*100;
r %= 36524;
year += r/1461*4;
r %= 1461;
bool flag = false;
if(r >= 1095)
flag = true;
year += r/365,r %= 365;
if(r == 0)
{
printf("%lld %lld %lld\n", 31, 12, year-1);
return;
}
for(R int i = 1; i <= 12; ++i)
{
if(i == 2 && flag == true)
{
if(r > 29)
{
r -= 29;
continue;
}
else
{
printf("%lld %lld %lld\n", r, i, year+1);
break;
}
}
if(r > tmp[i])
r -= tmp[i];
else
{
printf("%lld %lld %lld\n", r, i, year+1);
break;
}
}
}
int main()
{
ll Q = read();
while(Q--)
{
ll r = read();
rr=r;
++r;
if(r <= 1721424)
calc1(r);
else
calc2(r-1721424);
}
return 0;
}