#include <bits/stdc++.h>
using namespace std;
int q;
int nian=-4713;
int yue=1;
int ri=1;
long long aa;
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
int main()
{
q=read();
for(register int i=1;i<=q;i++){
aa=read();
if(aa>=2299161){
aa+=10;
}
for(;aa>=1;){
if(yue==1&&ri==1&&nian>1582&&(((nian)%400)==0||(nian%4==0&&nian%100!=0))&&aa>=366){
aa-=366;
if(nian==-1){
nian=1;
}
else{
nian++;
}
continue;
}
else if(yue==1&&ri==1&&nian>1582&&((((nian)%4)!=0)||(nian%4==0&&nian%100==0))&&aa>=365){
aa-=365;
if(nian==-1){
nian=1;
}
else{
nian++;
}
continue;
}
// else if(yue=1&&ri==1&&nian<=1582&&nian>0&&(((nian)%4)==0)&&aa>=366){
// cout<<"yyy";
// aa-=366;
// if(nian==-1){
// nian=1;
// }
// else{
// nian++;
// }
// continue;
// }
else if(yue==1&&ri==1&&nian<=1582&&nian>0&&((nian)%4)!=0&&aa>=365){
aa-=365;
if(nian==-1){
nian=1;
}
else{
nian++;
}
continue;
}
else if(yue==1&&ri==1&&nian<0&&(((-nian)%4)==1)&&aa>=366){
aa=aa-366;
if(nian==-1){
nian=1;
}
else{
nian++;
}
continue;
}
else if(yue==1&&ri==1&&nian<0&&((-nian)%4)-1!=0&&aa>=365){
aa-=365;
if(nian==-1){
nian=1;
}
else{
nian++;
}
continue;
}
if((yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)&&ri==1&&aa>=31){
aa-=31;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
else if((yue==4||yue==6||yue==9||yue==11)&&ri==1&&aa>=30){
aa-=30;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
else if(yue==2&&ri==1&&nian>1582&&(((nian)%400)==0||(nian%4==0&&nian%100!=0))&&aa>=29){
aa-=29;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
else if(yue==2&&ri==1&&nian>1582&&((((nian)%4)!=0)||(nian%4==0&&nian%100==0))&&aa>=28){
aa-=28;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
else if(yue==2&&ri==1&&nian<=1582&&nian>0&&(((nian)%4)==0)&&aa>=29){
aa-=29;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
else if(yue==2&&ri==1&&nian<=1582&&nian>0&&((nian)%4)!=0&&aa>=28){
aa-=28;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
else if(yue==2&&ri==1&&nian<0&&(((-nian)%4)-1==0)&&aa>=29){
aa-=29;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
else if(yue==2&&ri==1&&nian<0&&((-nian)%4)-1!=0&&aa>=28){
aa-=28;
yue++;
ri=1;
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
continue;
}
for(;aa>=1;aa--){
ri++;
if((yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)&&ri>31){
yue++;
ri=1;
}
else if((yue==4||yue==6||yue==9||yue==11)&&ri>30){
yue++;
ri=1;
}
else if(yue==2&&ri>29&&nian<0&&(((-nian)%4)-1==0)){
yue++;
ri=1;
}
else if(yue==2&&ri>28&&nian<0&&((-nian)%4)-1!=0){
yue++;
ri=1;
}
if(yue>12){
if(nian==-1){
nian=1;
}
else{
nian++;
}
yue=1;
}
}
}
if(nian<0){
cout<<ri<<" "<<yue<<" "<<-nian<<" "<<"BC"<<endl;
}
if(nian>0){
cout<<ri<<" "<<yue<<" "<<nian<<endl;
}
nian=-4713;
yue=1;
ri=1;
}
return 0;
}
我注释的部分把它取消注释发现没有输出“yyy”,说明没有进入此判断,此时样例2过不了,既然没进此判断,说明注释掉和不注释一样过不了,但把它注释掉居然样例2过了!!!
求大佬帮忙解释一下qwq