Известно, что основанием позиционной системы счисления называют количество
различных символов, используемых для записи чисел в данной системе счисления.
Также известно, что любое число x
в b-ичной системе
счисления имеет следующий вид: x = a0*b0 + a1*b1 +...+ an*bn,
где b ≥ 2 и 0 ≤ ai < b
Для записи чисел в b-ичной
системе счисления, где b ≤ 36, могут быть
использованы первые b
символов из следующего списка: 0, 1, …, 9, A, B, …, Z. Например для
записи чисел в троичной системе счисления используются символы 0, 1, 2, а в двенадцатиричной — 0, 1, …, 9, A, B
Требуется написать программу которая по входной
строке S определит, является ли данная строка
записью числа в системе счисления, с основанием не большим 36,
и, если является, определит минимальное основание этой системы счисления.
Формат входного файла
Во входном файле содержится строка S.
Формат выходного файла
В выходном файле должно содержаться единственное число:
- −1 — если строка S не может
быть представлена как число в какой-либо системе счисления, с основанием
не большим 36
- Наименьшее основание
системы счисления в которой строка S является записью числа — в противном случае
Ограничения
Длина строки S не превосходит 255
символов
Коды символов во входном файле лежат в диапазоне от 32
до 127 включительно
Примеры тестов
№
|
Входной файл
|
Выходной файл
|
1
|
16
|
7
|
2
|
FF00FF
|
16
|
3
|
I like programming =)
|
-1
|