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

AAA
b QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBNnMm0123456789.-_
c QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCVvBbNnMm0123456789.-_

BBB
0 4
m
1 4
a
2 4
i
3 4
l

CCC
r QqWwEeRTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm
u QqWwEeRrTtYyUIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm
YES
0
a a
1
b b
2
c c
3
d d
4
0
m m
1
a a
2
i i
3
l l
4
0
r r
1
u u
4
4
2

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

BBB
0 4
m
1 4
a
2 4
i
3 4
l

CCC
r QqWwEeRTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm
u QqWwEeRrTtYyUIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm
YES