#!/bin/bash
Alf ="QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789"
Smb =".-_"
AlSm ="QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789.-_"
Aa ="QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm"
read N
while ( ( N--) )
do
read VAR
let len =${#VAR}
let cond =0
for ( ( i =0 ,j =0 ; i < len; i++, j++) )
do
echo $j
val =${VAR:$i:1}
if [ "$cond " -eq "0" ]
then
if [ "$val " == "@" ]
then
let cond =1
let lenA =$j
let j =-1
continue
else
AAA[ $j ] =$val
echo $val ${AAA[$j]}
fi
elif [ "$cond " -eq "1" ]
then
if [ "$val " == "." ]
then
let cond =2
let lenB =$j
let j =-1
continue
else
BBB[ $j ] =$val
echo $val ${BBB[$j]}
fi
else
CCC[ $j ] =$val
echo $val ${CCC[$j]}
fi
done
let lenC =$j
echo $lenA
echo $lenB
echo $lenC
echo
echo AAA
if [ "$lenA " -le "1" ]
then
echo "NO0"
continue
else
val =${AAA[0]}
C =${Alf/$val}
if [ "$C " == "$Alf " ]
then
echo "NO1"
continue
else
for ( ( j =1 ; j< lenA; j++) )
do
#val=${VAR:$j:1}
val =${AAA[$j]}
C =${AlSm/$val}
#
echo $val $C
if [ "$C " == "$AlSm " ]
then
#let flag=1
echo "NO2"
break
fi
done
if [ "$j " -lt "$lenA " ]
then
continue
fi
fi
fi
echo
echo BBB
if [ "$lenB " -eq "0" ]
then
echo "NO3"
continue
fi
for ( ( k =0 ; k< lenB; k++) )
do
echo $k $lenB
#val=${VAR:$j:1}
val =${BBB[$k]}
C =${Alf/$val}
echo $val
if [ "$C " == "$Alf " ]
then
#let flag=1
echo "NO4"
break
fi
done
if [ "$k " -lt "$lenB " ]
then
continue
fi
echo
echo CCC
if [ "$lenC " -le "4" ]
then
if [ "$lenC " -ge "2" ]
then
for ( ( j =0 ; j< lenC; j++) )
do
#val=${VAR:$j:1}
val =${CCC[$j]}
C =${Aa/$val}
echo $val $C
if [ "$C " == "$Aa " ]
then
#let flag=1
echo "NO5"
break
fi
done
if [ "$j " -lt "$lenC " ]
then
continue
fi
else
echo "NO6"
continue
fi
else
echo "NO7"
continue
fi
echo "YES"
done
IyEvYmluL2Jhc2gKCkFsZj0iUXFXd0VlUnJUdFl5VXVJaU9vUHBBYVNzRGRGZkdnSGhKaktrTGxaelh4Q2NWdkJiTm5NbTAxMjM0NTY3ODkiClNtYj0iLi1fIgpBbFNtPSJRcVd3RWVSclR0WXlVdUlpT29QcEFhU3NEZEZmR2dIaEpqS2tMbFp6WHhDY1Z2QmJObk1tMDEyMzQ1Njc4OS4tXyIKQWE9IlFxV3dFZVJyVHRZeVV1SWlPb1BwQWFTc0RkRmZHZ0hoSmpLa0xsWnpYeENjVnZCYk5uTW0iCgoKcmVhZCBOCndoaWxlICgoTi0tKSkKZG8KCnJlYWQgVkFSCiAgIGxldCBsZW49JHsjVkFSfQogICAKICAgbGV0IGNvbmQ9MAogICBmb3IgKChpPTAsaj0wOyBpIDwgbGVuOyBpKyssIGorKykpCiAgIGRvCiAgICAgIGVjaG8gJGoKICAgIHZhbD0ke1ZBUjokaToxfQogICAgCiAgICBpZiBbICIkY29uZCIgLWVxICIwIiBdCiAgICB0aGVuCiAgICAgIGlmIFsgIiR2YWwiID09ICJAIiBdCiAgICAgIHRoZW4KICAgICAgICAgbGV0IGNvbmQ9MQogICAgICAgICBsZXQgbGVuQT0kagogICAgICAgICBsZXQgaj0tMQogICAgICAgICBjb250aW51ZQogICAgICBlbHNlCiAgICAgICAgIEFBQVskal09JHZhbAogICAgICAgICBlY2hvICR2YWwgJHtBQUFbJGpdfQogICAgICAgICAKICAgICAgZmkKICAgIGVsaWYgWyAiJGNvbmQiIC1lcSAiMSIgXQogICAgdGhlbgogICAgICAgaWYgWyAiJHZhbCIgPT0gIi4iIF0KICAgICAgIHRoZW4KICAgICAgICAgbGV0IGNvbmQ9MgogICAgICAgICBsZXQgbGVuQj0kagogICAgICAgICBsZXQgaj0tMQogICAgICAgICBjb250aW51ZQogICAgICBlbHNlCiAgICAgICAgIEJCQlskal09JHZhbAogICAgICAgICBlY2hvICR2YWwgJHtCQkJbJGpdfQogICAgICBmaQogICAgZWxzZQogICAgICAgQ0NDWyRqXT0kdmFsCiAgICAgICBlY2hvICR2YWwgJHtDQ0NbJGpdfQogICAgZmkKICAgIAogIGRvbmUKIGxldCBsZW5DPSRqCiAKCiAgIGVjaG8gJGxlbkEKICAgZWNobyAkbGVuQgogICBlY2hvICRsZW5DCiAgIAogICBlY2hvCiAgIGVjaG8gQUFBCiAgIAogICBpZiBbICIkbGVuQSIgLWxlICIxIiBdCiAgIHRoZW4KICAgICAgZWNobyAiTk8wIgogICAgICBjb250aW51ZQogICBlbHNlCiAgICAgIHZhbD0ke0FBQVswXX0KCiAgICAgIEM9JHtBbGYvJHZhbH0KICAgICAgCiAgICAgIAogICAgICBpZiBbICIkQyIgPT0gIiRBbGYiIF0KICAgICAgdGhlbgogICAgICAgICBlY2hvICJOTzEiCgkgY29udGludWUKICAgICAgZWxzZQogICAKICAgICAgICAgZm9yICgoaj0xOyBqPGxlbkE7IGorKykpCiAgICAgICAgIGRvCgkgICAgICAgICN2YWw9JHtWQVI6JGo6MX0KCSAgICAgICAgdmFsPSR7QUFBWyRqXX0KCQogICAgICAgICAgICBDPSR7QWxTbS8kdmFsfQogICAgICAgICAgICAjCiAgICAgICAgICAgIGVjaG8gICR2YWwgJEMKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIFsgIiRDIiA9PSAiJEFsU20iIF0KICAgICAgICAgICAgdGhlbgoJICAgICAgICNsZXQgZmxhZz0xCgkgICAgICAgZWNobyAiTk8yIgoJICAgICAgIGJyZWFrCiAgICAgICAgICAgZmkKCSBkb25lCgkgaWYgWyAiJGoiIC1sdCAiJGxlbkEiIF0KCSB0aGVuCgkgICAgY29udGludWUKCSBmaQogICAgICBmaQogICBmaQogICAKICAgZWNobwogICBlY2hvIEJCQgogICAKICAgaWYgWyAiJGxlbkIiIC1lcSAiMCIgXQogICB0aGVuCiAgICAgIGVjaG8gIk5PMyIKICAgICAgY29udGludWUKICAgZmkKICAgCiAgIGZvciAoKGs9MDsgazxsZW5COyBrKyspKQogICBkbwogICAgICBlY2hvICRrICRsZW5CCgkgICAgI3ZhbD0ke1ZBUjokajoxfQoJICAgIHZhbD0ke0JCQlska119CiAgICAgICAgICAgIEM9JHtBbGYvJHZhbH0KICAgICAgICAgICAgZWNobyAgJHZhbCAKICAgICAgICAgICAgaWYgWyAiJEMiID09ICIkQWxmIiBdCiAgICAgICAgICAgIHRoZW4KCSAgICAgICAjbGV0IGZsYWc9MQoJICAgICAgIGVjaG8gIk5PNCIKCSAgICAgICBicmVhawogICAgICAgICAgIGZpCiAgIGRvbmUKICAgaWYgWyAiJGsiIC1sdCAiJGxlbkIiIF0KICAgdGhlbgogICAgICBjb250aW51ZQogICBmaQogICAKICAgCiAgIGVjaG8KICAgZWNobyBDQ0MKICAgCiAgIGlmIFsgIiRsZW5DIiAtbGUgIjQiIF0KICAgdGhlbgogICAgIGlmIFsgIiRsZW5DIiAtZ2UgIjIiIF0KICAgICB0aGVuCiAgICAgICAgZm9yICgoaj0wOyBqPGxlbkM7IGorKykpCglkbwoJICAgICN2YWw9JHtWQVI6JGo6MX0KCSAgICB2YWw9JHtDQ0NbJGpdfQoJCiAgICAgICAgICAgIEM9JHtBYS8kdmFsfQogICAgICAgICAgICAKICAgICAgICAgICAgZWNobyAgJHZhbCAkQwogICAgICAgICAgICBpZiBbICIkQyIgPT0gIiRBYSIgXQogICAgICAgICAgICB0aGVuCgkgICAgICAgI2xldCBmbGFnPTEKCSAgICAgICBlY2hvICJOTzUiCgkgICAgICAgYnJlYWsKICAgICAgICAgICBmaQogICAgICAgIGRvbmUKCWlmIFsgIiRqIiAtbHQgIiRsZW5DIiBdCgl0aGVuCiAgICAgICAgICAgY29udGludWUKICAgICAgICBmaQogICAgIGVsc2UKICAgICAgICBlY2hvICJOTzYiCgljb250aW51ZQogICAgIGZpCiAgIGVsc2UKICAgICAgZWNobyAiTk83IgogICAgICBjb250aW51ZQogICBmaQogICBlY2hvICJZRVMiCmRvbmUKCiAgIAogICAgICAKICAgICAgCgoKICAgICAgCiAgICAKICAgIAogICAKCg==