#include <iostream>
#include <string>
using namespace std;
string pierwszyciag(string a)
{
string b;
for(int i = 0; i < a.length(); i++)
{
if(a[i] != 64)
{
b += a[i];
}
else
{
break;
}
}
return b;
}
string drugiciag(string a)
{
string b;
int d;
for(int i = 0; i < a.length(); i++)
{
if(a[i] == 64)
{
d = i;
break;
}
}
for(int i = d + 1; a.length(); i++)
{
if(a[i] != 46)
{
b += a[i];
}
else
{
break;
}
}
return b;
}
string trzeciciag(string a)
{
string b, c;
int d, e;
for(int i = 0; i < a.length(); i++)
{
if(a[i] == 64)
{
d = i;
break;
}
}
for(int i = d + 1; i < a.length(); i++)
{
if(a[i] != 46)
{
b += a[i];
}
else
{
e = i;
break;
}
}
for(int i = e + 1; i < a.length(); i++)
{
if(a[i] != 46)
{
c += a[i];
}
}
return c;
}
int main() {
int n;
cin >> n;
string email, ciag1, ciag2, ciag3;
getline(cin, email);
bool prawidlowy = true;
int malpy = 0, kropki = 0;
for(int i = 0; i < n; i++)
{
getline(cin, email);
for(int j = 0; j < email.length(); j++)
{
if(email[j] == '@')
{
malpy++;
}
if(email[j] == '.')
{
kropki++;
}
if(email[j] == 32)
{
prawidlowy = false;
}
if(email[j] == 46)
{
if(email[j-1] == 46 || email[j-1] == 64 || email[j+1] == 46 || email[j+1] == 64)
{
prawidlowy = false;
}
}
if((email[j] >= 'a' && email[j] <= 'z') || (email[j] >= 'A' && email[j] <= 'Z') || (email[j] >= '0' && email[j] <= '9') || email[j] == '.' || email[j] == '_' || email[j] == '@')
{
;
}
else
{
prawidlowy = false;
}
}
if(email[0] == '@' || email[0] == '_')
{
prawidlowy = false;
}
if(malpy > 1 || malpy == 0)
{
prawidlowy = false;
}
if(kropki == 0)
{
prawidlowy = false;
}
if(prawidlowy)
{
ciag1 = pierwszyciag(email);
ciag2 = drugiciag(email);
ciag3 = trzeciciag(email);
for(int k = 0; k < ciag1.length(); k++)
{
if(ciag1[k] == '.')
{
prawidlowy = false;
}
}
for(int k = 0; k < ciag2.length(); k++)
{
if(ciag2[k] == '.')
{
prawidlowy = false;
}
}
string p;
for(int k = 0; k < ciag3.length(); k++)
{
if(ciag1[k] != 46)
{
p += ciag1[k];
}
else
{
if(p.length() > 3 || p.length() == 1)
{
prawidlowy = false;
p = "";
}
else
{
p = "";
}
}
}
if(ciag1.length() > 20 || ciag1.length() == 0 || ciag2.length() > 20 || ciag2.length() == 0 || ciag3.length() == 0 || ciag3.length() == 1)
{
prawidlowy = false;
}
}
// cout << "pierwszy ciag: " << ciag1 << "\n";
// cout << "drugi ciag: " << ciag2 << "\n";
// cout << "trzeci ciag: " << ciag3 << "\n";
if(prawidlowy) cout << "Tak\n";
else cout << "Nie\n";
prawidlowy = true;
malpy = 0;
kropki = 0;
}
}