#290. [R47B]进制迷踪

[R47B]进制迷踪

时空限制

1S/512M

题目描述

apiadu 在整理收藏柜时发现了一个泛黄的笔记本,上面记录着许多神秘的数字字符串。由于年代久远,笔记本上并没有标明这些数字具体采用了哪种进制。

apiadu 经过研究发现,一个数字字符串 ss 在不同的进制下可能代表完全不同的数值。例如,字符串 10 在二进制下表示 22,在十进制下表示 1010

笔记本上写着一个由数字和从 AF 的大写字母组成的字符串 ss,请你帮 apiadu 计算:在只考虑二进制、八进制、十进制、十六进制这四种常见进制的情况下,这个字符串 ss 能够合法地表示多少种不同的数值

即使在不同的进制下,如果计算出的数值相等,也只能算作一种不同的值。例如,字符串 0 在任何合法进制下代表的数值均为 00,计为 11 种。

格式

输入格式

输入一行,包含一个字符串 ss,表示给定的字符串。

输出格式

输出一行一个整数,表示字符串 ss 在四种进制下能表示出的不同数值的个数。

样例

样例输入 #1

328

样例输出 #1

2

样例解释 #1

字符串 328328 在二进制和八进制下不合法,在十进制下表示数值 328328,在十六进制下表示数值 808808,共有两种不同的数值,因此答案为 22

样例输入 #2

0

样例输出 #2

1

样例解释 #2

字符串 0 在任何合法进制下代表的数值均为 00,计为 11 种,故答案为 11

样例输入 #3

AC

样例输出 #3

1

样例输入 #4

114514

样例输出 #4

3

数据规模

注意:你只有通过了该题目的所有测试点,才能获得分数。

对于 100%100\% 的数据:1s1001 \le |s| \le 100ss 由数字与从 AF 的大写字母组成,保证 ss 没有前导零(即如果 s>1|s| > 1,则 ss 的首个字符不是 0)。

保证 ss 在至少一种进制下是合法的。