#include <iostream>
using namespace std;
struct Infor
{
int nYear;
int nMonth;
int nDay;
int nNum;
struct Infor *next;
};
int main()
{ // 1 2 3 4 5 6 7 8 9 10 11 12
const int nArray[] = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};
int i; // 31 28 31 30 31 30 31 31 30 31 30 31
struct Infor *pHead = NULL, *pTail = NULL, *p = NULL;
freopen("1.txt", "r", stdin);
pHead = new struct Infor;
pHead->next = NULL;
pTail = pHead;
cin >> i;
for (int j = 0; j < i; j++)
{
p = new struct Infor;
p->next = NULL;
cin >> p->nYear >> p->nMonth >> p->nDay;
p->nNum = j+1;
pTail->next = p;
pTail = p;
}
p = pHead->next;
while (NULL != p)
{
int nTemp = nArray[p->nMonth-1] + p->nDay;
bool bRet = false;
if (0 == p->nYear || 0 == p->nMonth || 0 == p->nDay)
{
nTemp = 0;
goto Exit0;
}
if ((0 == p->nYear % 172800) && (0 == p->nYear % 86400))
{
bRet = true;
goto Exit0;
}
if (((0 == p->nYear % 4) && (0 != p->nYear % 100)) || ((0 == p->nYear % 400)&&(0 != p->nYear % 3200 )))
{
bRet = true;
}
Exit0:
if (bRet)
{
cout << "CASE " << p->nNum << ": " << ((2 < p->nMonth) ? (nTemp+1) : nTemp) << endl;
}
else
{
cout << "CASE " << p->nNum << ": " << nTemp << endl;
}
p = p->next;
}
return 0;
}