#3031. 星际密文

星际密文

题目描述:

在一个神秘的星球上,存在着一种古老的文明,他们使用一种独特的密码系统来记录重要的历史信息。这种密码系统被称为“星际密文”,它利用简单的二进制序列来表示复杂的信息。作为这个星球的考古学家,你发现了一段这样的“星际密文”,并决定解码它以揭示其中的秘密。

密码规则

“星际密文”的编码规则如下:

  1. 密文以8个字符为一组(称为“密文组”),每组对应一个字母、数字或特殊字符。
  2. 如果一个密文组的前三个字符是111,则它代表一个空格(ASCII码为32)。
  3. 如果一个密文组的前三个字符是101,则它代表一个小写字母或大写字母(A~F)。后五个字符是一个二进制数,转换为十进制后,0~25对应小写字母a~z,26~31对应大写字母A~F。例如10100111的后5位是00111,转换为十进制后是7,对应小写字母h;10111110后5位是11110,转换为十进制后是30,对应大写字母E;
  4. 如果一个密文组的第一个字符是0,并且下一个密文组的第一个字符也是0,则这两个密文组一起代表一个数字。将这两个密文组分别转换为十进制数后求和,再将结果右移一位(即除以2并向下取整)。如果结果为0,则不输出。例如0111111100000010两个小节分别对应127和2,计算后得到结果为64;
  5. 如果一个密文组不满足上述任何条件,则它被视为无效的,可能是用来混淆的假密文部分。

作为考古学家,你需要编写一个解码器来解析这段“星际密文”,并揭示其中隐藏的秘密信息。

输入格式

第一行一个正整数T,表示需要翻译的密文数量,接下来T行,每行一个字符串s,表示传递的密文。

输出格式

T行,每行一个非空字符串,表示翻译出的信息。若是假密文,输出"FAKE"(不含引号)。<o:p></o:p>

样例

4
0111111100000010
abaaba01
10110101111101010001111101010101
0001111110110101
64
FAKE
v 58
FAKE

提示

对于20%的数据,真密文翻译出的信息中只有空格或字符;

对于另外20%的数据,真密文翻译出的信息中只有空格或数字;

对于100%的数据,所有密文的长度和不超过10^6,输入的数据中不含特殊字符(如不可见字符、空格、括号等)。