//拼凑思想 多的少的由第一年和最后一年补回
//注意:月>2月,第一年是闰年,减一天;18年是闰年,加一天
#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
bool isleapyear(int y){
if(y%400==0||(y%100!=0&&y%4==0)){
return true;
}
return false;
}
int main()
{
int t;
string s;
cin>>t;
int sum;
while(t--){
cin>>s;
int y=(s[0]-'0')*1000+(s[1]-'0')*100+(s[2]-'0')*10+s[3]-'0';
int m=(s[5]-'0')*10+s[6]-'0';
int d=(s[8]-'0')*10+s[9]-'0';
if(m==2&&d==29){
cout<<-1<<endl;
}
else{
int i=0;
sum=0;
for(;i<18;i++){
if(isleapyear(y)){
sum+=366;
}
else{
sum+=365;
}
y++;
}
if(isleapyear(y-18)&&m>2){
sum--;
}
else{
if(isleapyear(y)&&m>2){
sum++;
}
}
cout<<sum<<endl;
}
}
return 0;
}