Число
Пусть числовая запись определяется по следующим правилам.
<Numerical record> ::= <Integer>|<Real>
<Integer>::= <Int>|<Sgn><Int>
<Real>::=<Nos>|<Sgn><Nos>
<Sgn>::= -|+
<Int>::=<Digit>|<Nozer><Inpp>
<Inpp>::=<Digit>|<Digit><Inpp>
<Digit>::=0|<Nozer>
<Nozer>::=1|2|3|4|5|6|7|8|9
<Nos>::=<Fix>|<Ex>|<Fix><Ex>
<Fix>::=<Int>|<Int>.|.<Inpp>|<Int>.<Inpp>
<Ex>::=E<Int2>|e<Int2>
<Int2>::=<It2>|<Sgn><It2>
<It2>::=<Digit>|<Nozer><Digit>
Составить программу, которая определит является ли заданная строка числовой записью. И если это не числовая запись, определить номер первой позиции, в которой нарушены приведенные правила.
####ОграниченияДлина входной строки не превосходит 100.
####Входные данныеЕдинственная строка, которая должна подвергнуться проверке.
####Выходные данныеЕсли строка является числовой записью, то выводится единственная строка с текстом Correct, иначе выводится текст The first mistake in position, за которым через пробел следует номер первой позиции, из-за которой строка не является числовым выражением (позиции считать занумерованными слева направо начиная с 1).