Задача №3193. Проверка числа
Дано число. Требуется определить, корректно ли оно. Число может быть записано в 2-ух формах:
- обычной
- экспоненциальной
Число в обычной форме не должно содержать ведущих нулей. Знак "-" должен стоять только перед непололожительным числом и только в одном экземпляре. Число также может быть записано в двоичной, восьмеричной или шестнадцатиричной системе счисления. В различных системах счисления число будет иметь вид:
<%0x><обычная форма> - в шестнадцатиричной (состоит из цифр и маленьких латинских букв). Число знаков после "0x" не должно превышать 16.
<%0o><обычная форма> - в восьмеричной. Число знаков после "0o" не должно превышать 8.
<%0b><обычная форма> - в двоичной. Число знаков после "0b" не должно превышать 20.
Знак "-" также может быть только один и должен стоять перед символом "%". Примеры корректных чисел в обычной форме: 75, -%0x6f4,%0b101110,%0o1705.
Число в экспоненциальной форме представляет собой запись следующего вида (необязательные элементы заключены в квадратные скобки):
<число в обычной форме>[<.><неотрицательное число в обычной форме, может содержать ведущие нули, не влияющие на подсчет количества знаков и стоящие до символа "%" если число не в десятичной системе счисления>]<E>[<знак "+" или "-"><число в обычной форме>].
Примеры корректных чисел в экспоненциальной форме: 1.517E+4, -%0b101.00%0xfE–19, -7E.
Единственная строка, не содержащая пробелов, длиной не более 50 символов.
Выведите "YES", если строка удовлетворяет условию задачи или "NO" в противном случае.
74
YES
%0x5f7.00%0b1011E-%0o71
YES