
//密码
#include<iostream>
#include<cstring>
using namespace std;
int panduan(char a[]){
int l=strlen(a);
int s=0;
int zm=0,sz=0,t=0;
int b[26]={0},c[26]={0},d[10]={0},e=0,f=0;
while(s<l&&l>=6){
if(a[s]<='Z'&&a[s]>='A'){
b[a[s]-'A']++;
zm++;
}
if(a[s]<='z'&&a[s]>='a'){
c[a[s]-'a']++;
zm++;
}
if(a[s]<='9'&&a[s]>='0'){
d[a[s]-'0']++;
sz++;
}
if(a[s]=='*'){
e++;
t++;
}
if(a[s]=='#'){
f++;
t++;
}
s++;
}
int g=0,h=0;
for(int i=0;i<26;i++){
if(b[i]>2){
g++;
}
if(c[i]>2){
h++;
}
}
int k=0;
for(int i=0;i<10;i++){
if(d[i]>2){
k++;
}
}
if(zm>0&&sz>0&&t>0){
if(g==0&&h==0&&k==0&&e<=2&&f<=2){
return 2;
}
else/* if(g>0||h>0||k>0||e>2||f>2)*/{
return 1;
}
}
else{
return 0;
}
}
int main(){
int n;
cin>>n;
char a[20];
int x[100];
for(int i=0;i<n;i++){
cin>>a;
x[i]=panduan(a);
}
for(int i=0;i<n;i++){
cout<<x[i]<<endl;
}
return 0;
}
