//整除时注意下标问题就行了
#include <cstdio>
#include <cstring>
char HaabCal[19][10]={"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu","uayet"};
char Tzolkin[20][10]={"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"};
int main()
{
int day,year;
int num,year2;
char month[10];
int nCase;
scanf("%d",&nCase);
printf("%d\n",nCase);
int i,j,ii;
for(ii=1;ii<=nCase;++ii)
{
char ch;
scanf("%d%c %s %d",&day,&ch,month,&year);
int monthnum;
for(i=0;i<19;++i)
if(strcmp(HaabCal[i],month)==0)
break;
monthnum=i;
int sumDay=year*365+monthnum*20+day+1;
year2=sumDay/260;
if(sumDay%260==0)
year2--;
int restday=sumDay-year2*260;
int num=restday%13;
if(num==0)
num=13;
int kk=restday%20;
if(kk==0)
kk=20;
printf("%d %s %d\n",num,Tzolkin[kk-1],year2);
}
return 0;
}