#P2338. Basic

Basic

题目描述

Ada编程语言中的整数常量有以下几种表示形式:1231238#123#8\#123\#16#abc#16\#abc\#。这些常量分别表示整数123123(十进制)、8383123123的八进制)和27392739abcabc的十六进制)。更准确地说:

  1. 十进制整数:由一个或多个小于1010的数字组成的序列。
  2. 特定基数的整数:由基数(basebase)后跟一个或多个小于该基数的数字(用#\#符号包围)组成。其中,字母aaff分别表示10101515

在Ada语言中,如果指定了基数,则基数必须是一个十进制数字序列。但在本题中,基数可以是任何符合上述规则的表示形式,只要它表示一个介于221616之间的整数即可。

输入格式

  • 第一行输入一个正整数nn,表示后续有nn行输入。
  • 接下来的nn行输入,每行是一个长度为118080的字符串,且不包含空格。

输出格式

对于每行输入,如果它是一个有效的整数常量(符合上述规则),则输出一行“yes”;否则输出一行“no”。

输入样例 1

5
2#101#
2#101##123#
17#abc#
16#123456789abcdef#
16#123456789abcdef#123456789abcdef#

输出样例 1

yes
yes
no
yes
no

说明

  1. 2#101#2\#101\#:有效,表示二进制的101101(即55)。
  2. 2#101##123#2\#101\#\#123\#:有效,因为基数22是合法的,且数字部分101101合法,后续的#123#\#123\#被视为额外字符(题目未明确禁止)。
  3. 17#abc#17\#abc\#:无效,因为基数1717不在221616的范围内。
  4. 16#123456789abcdef#16\#123456789abcdef\#:有效,表示十六进制的123456789abcdef123456789abcdef
  5. 16#123456789abcdef#123456789abcdef#16\#123456789abcdef\#123456789abcdef\#:无效,因为格式不符合要求(多了一个数字部分)。