#include<iostream>
using namespace std;
bool isOk(string str)
{
if(str.length()<8||str.length()>16)
{
return false;
}
int daxie=0;
int xiaoxie=0;
int shuzi=0;
int teshu=0;
for(int i=0;i<str.length();i++)
{
if(str[i]>='a'&&str[i]<='z')
{
xiaoxie=1;
}
else if(str[i]>='A'&&str[i]<='Z')
{
daxie=1;
}
else if(isdigit(str[i]))
{
shuzi=1;
}
else if(str[i]=='~'||
str[i]=='!'||
str[i]=='@'||
str[i]=='#'||
str[i]=='$'||
str[i]=='%'||
str[i]=='^'
)
{
teshu=1;
}
}
return daxie+xiaoxie+shuzi+teshu>=3;
}
int main(void)
{
int n;
string str;
cin>>n;
while(n--)
{
cin>>str;
cout<<(isOk(str)?"YES":"NO")<<endl;
}
return 0;
}
using namespace std;
bool isOk(string str)
{
if(str.length()<8||str.length()>16)
{
return false;
}
int daxie=0;
int xiaoxie=0;
int shuzi=0;
int teshu=0;
for(int i=0;i<str.length();i++)
{
if(str[i]>='a'&&str[i]<='z')
{
xiaoxie=1;
}
else if(str[i]>='A'&&str[i]<='Z')
{
daxie=1;
}
else if(isdigit(str[i]))
{
shuzi=1;
}
else if(str[i]=='~'||
str[i]=='!'||
str[i]=='@'||
str[i]=='#'||
str[i]=='$'||
str[i]=='%'||
str[i]=='^'
)
{
teshu=1;
}
}
return daxie+xiaoxie+shuzi+teshu>=3;
}
int main(void)
{
int n;
string str;
cin>>n;
while(n--)
{
cin>>str;
cout<<(isOk(str)?"YES":"NO")<<endl;
}
return 0;
}