#include<iostream>
#include<cstdio>
using namespace std;
long long Q,r;
int day1[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int day2[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int day3[13]={0,31,28,31,30,31,30,31,31,30,17,30,31};
int main(){
//freopen("c.in","r",stdin);
//freopen("c.out","w",stdout);
cin>>Q;
for(int i=1;i<=Q;i++){
cin>>r;
// int rrr=r;
// cout<<r<<" ";
if(r<=1721423){//公元前
int year=4713,y=366;
while(r-y>=0){
r-=y;
year--;
if(year%4==1) y=366;
else y=365;
}
if(year%4==1){
int mon=1;
while(r-day1[mon]>=0){
r-=day1[mon];
mon++;
}
cout<<r+1<<" "<<mon<<" "<<year<<" BC"<<endl;
}
else{
int mon=1;
while(r-day2[mon]>=0){
r-=day2[mon];
mon++;
}
cout<<r+1<<" "<<mon<<" "<<year<<" BC"<<endl;
}
}
else if(r>1721423&&r<=2299160){//公元1年——1582年 10月4日
r-=1721423;r--;
int year,y=365;
year=r/1461*4;
r=r%1461;
while(r-y>=0){
r-=y;
year++;
if(year%4==0) y=366;
else y=365;
}
year++;
if(year%4==0){
int mon=1;
while(r-day1[mon]>=0){
r-=day1[mon];
mon++;
}
cout<<r+1<<" "<<mon<<" "<<year<<endl;
}
else{
int mon=1;
while(r-day2[mon]>=0){
r-=day2[mon];
mon++;
}
cout<<r+1<<" "<<mon<<" "<<year<<endl;
}
}
else if(r>2299160){//<= 1582年 10月15日
r-=2299161;
int year=1582,y=78;
while(r-y>=0){
r-=y;
year++;
if((year%4==0&&year%100!=0)||year%400==0) y=366;
else y=365;
}
if(year==1582){
int mon=10;
while(r-day3[mon]>=0){
r-=day3[mon];
mon++;
}
if(mon==10){
r+=14;
}
cout<<r+1<<" "<<mon<<" "<<year<<endl;
}
else{
if((year%4==0&&year%100!=0)||year%400==0){
int mon=1;
while(r-day1[mon]>=0){
r-=day1[mon];
mon++;
}
cout<<r+1<<" "<<mon<<" "<<year<<endl;
}
else{
int mon=1;
while(r-day2[mon]>=0){
r-=day2[mon];
mon++;
}
cout<<r+1<<" "<<mon<<" "<<year<<endl;
}
}
}
}
return 0;
}
输入1956644输出“1 1 645”(应为“31 12 644”)