fork(1) download
  1. #!/bin/bash
  2. Alf="QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789"
  3. Smb=".-_"
  4. AlSm="QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789.-_"
  5. Aa="QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm"
  6.  
  7.  
  8. read N
  9. while ((N--))
  10. do
  11.  
  12. read VAR
  13. let len=${#VAR}
  14.  
  15. let i=-1
  16.  
  17. for ((j=0; i<len; j++))
  18. do
  19. let i=$i+1
  20. echo $i
  21. val=${VAR:$i:1}
  22. if [ "$val" == "@" ]
  23. then
  24. let i=$i+1
  25. break
  26. fi
  27. AAA[j]=$val
  28.  
  29. done
  30. let lenA=$j
  31.  
  32. for ((j=0; i<len; j++))
  33. do
  34. let i=$i+1
  35. echo $i
  36. val=${VAR:$i:1}
  37. if [ "$val" == "." ]
  38. then
  39. let i=$i+1
  40. break
  41. fi
  42. BBB[$j]=$val
  43. done
  44. let lenB=$j
  45.  
  46. for ((j=0; i<len; j++))
  47. do
  48. let i=$i+1
  49. echo $i
  50. val=${VAR:$i:1}
  51.  
  52. CCC[$j]=$val
  53. done
  54. let lenC=$j
  55.  
  56.  
  57.  
  58. echo
  59. echo AAA
  60.  
  61. if [ "$lenA" -le "1" ]
  62. then
  63. echo "NO0"
  64. continue
  65. else
  66. val=${VAR:0:1}
  67.  
  68. C=${Alf/$val}
  69.  
  70.  
  71. if [ "$C" == "$Alf" ]
  72. then
  73. echo "NO1"
  74. continue
  75. else
  76.  
  77. for ((j=1; j<lenA; j++))
  78. do
  79. val=${VAR:$j:1}
  80.  
  81. C=${AlSm/$val}
  82. #
  83. echo $val $C
  84.  
  85. if [ "$C" == "$AlSm" ]
  86. then
  87. #let flag=1
  88. echo "NO2"
  89. break
  90. fi
  91. done
  92. if [ "$j" -lt "$lenA" ]
  93. then
  94. continue
  95. fi
  96. fi
  97. fi
  98.  
  99. echo
  100. echo BBB
  101.  
  102. if [ "$lenB" -eq "0" ]
  103. then
  104. echo "NO3"
  105. continue
  106. fi
  107.  
  108. for ((j=0; j<lenB; j++))
  109. do
  110. val=${VAR:$j:1}
  111.  
  112. C=${Alf/$val}
  113. echo $val $C
  114. if [ "$C" == "$Alf" ]
  115. then
  116. #let flag=1
  117. echo "NO4"
  118. break
  119. fi
  120. done
  121. if [ "$j" -lt "$lenB" ]
  122. then
  123. continue
  124. fi
  125.  
  126.  
  127. echo
  128. echo CCC
  129.  
  130. if [ "$lenC" -le "4" ]
  131. then
  132. if [ "$lenC" -ge "2" ]
  133. then
  134. for ((j=0; j<lenC; j++))
  135. do
  136. val=${VAR:$j:1}
  137.  
  138. C=${Aa/$val}
  139.  
  140. echo $val $C
  141. if [ "$C" == "$Aa" ]
  142. then
  143. #let flag=1
  144. echo "NO5"
  145. break
  146. fi
  147. done
  148. if [ "$j" -lt "$lenC" ]
  149. then
  150. continue
  151. fi
  152. else
  153. echo "NO6"
  154. continue
  155. fi
  156. else
  157. echo "NO7"
  158. continue
  159. fi
  160. echo "YES"
  161. done
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
Success #stdin #stdout 0s 5108KB
stdin
2
abc@mail.ru
abcd@mail.ru
stdout
0
1
2
3
5
6
7
8
10
11

AAA
b QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBNnMm0123456789.-_
c QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCVvBbNnMm0123456789.-_

BBB
a QqWwEeRrTtYyUuIiOoPpASsDdFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789
b QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBNnMm0123456789
c QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCVvBbNnMm0123456789

CCC
a QqWwEeRrTtYyUuIiOoPpASsDdFfGgHhJjKkLlZzXxCcVvBbNnMm
b QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBNnMm
YES
0
1
2
3
4
6
7
8
9
11
12

AAA
b QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBNnMm0123456789.-_
c QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCVvBbNnMm0123456789.-_
d QqWwEeRrTtYyUuIiOoPpAaSsDFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789.-_

BBB
a QqWwEeRrTtYyUuIiOoPpASsDdFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789
b QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBNnMm0123456789
c QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCVvBbNnMm0123456789

CCC
a QqWwEeRrTtYyUuIiOoPpASsDdFfGgHhJjKkLlZzXxCcVvBbNnMm
b QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBNnMm
YES