#include<bits/stdc++.h>
using namespace std;
const int maxn = 110000;
const int qwq1 = 1721424;
const int qwq2 = 2299151;
const int qwq3 = 2299161;
const int mon[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int Q, r;
int d = 0, dd = 0, m = 0, day = 0, year = 4713, y, num = 0;
bool BC_check(int x){
if(x % 4 == 1) return 1;
return 0;
}
bool AC_check(int x){
if(((x%4 == 0)&&(x%100 != 0)) || (x%400 == 0)) return 1;
return 0;
}
void update(){
d = 0; dd = 0; m = 0; day = 0; year = 4713; y = 0; num = 0;
}
int main(){
cin >> Q;
while(Q--){
cin >> r;
update();
if(r < qwq1){
for(int i = 4713; i >= 1; i--){
if(r > d){
d += 365;
continue;
}
else{
int ds = d - r;
year = i + 1;
bool can = BC_check(year);
for(int j = 12; j >= 1; j--){
dd += mon[j];
if(j == 2 && can) dd ++;
if(dd <= ds) continue;
else if(dd > ds){
m = j;
day = dd - ds;
break;
}
}
break;
}
}
cout<<day<<" "<<m<<" "<<year<<" "<<"BC"<<'\n';
}
else if(r == qwq1) cout<<'1'<<" "<<'1'<<" "<<'1'<<" "<<'\n';
else{
update();
if(r > qwq1 && r < qwq2){
r = qwq2 - r + 1;
d = 277;
for(int i = 1581; i >= 1; i--){
if(r > d){
if(AC_check(i)) d += 366;
else d += 365;
continue;
}
else{
int ds = d - r;
year = i + 1;
bool can = AC_check(year);
for(int j = 1; j <= 12; j++){
dd += mon[j];
if(j == 2 && can) dd ++;
if(dd <= ds) continue;
else if(dd > ds){
m = j;
day = dd - ds;
break;
}
}
break;
}
}
cout<<day<<" "<<m<<" "<<year<<'\n';
}
else if(r > qwq3){
update();
r = r -qwq3 + 1;
d = 78;
for(int i = 1; i*400 <= r; i++){
if(r > d){
y = (i - 1) * 400;
d += 146097;
continue;
}
}
d -= 146097;
for(int j = 1; j <= 400; j++){
if(r > d){
num = 1582 + y +j;
if(AC_check(num)) d += 366;
else d += 365;
continue;
}
int ds = d - r;
year = num;
bool can = AC_check(year);
for(int k = 12; k >= 1; k--){
dd += mon[k];
if(k == 2 && can) dd++;
if(dd <= ds) continue;
else if(dd > ds){
m = k;
day = dd - ds;
break;
}
}
break;
}
cout<<day<<" "<<m<<" "<<year<<'\n';
}
}
}
return 0;
}