Характеристика
Коректним дужковим виразом (<CBV>) називатимемо рядок, який визначається наступним чином:
<CBV> ::= | (<CBV>) | [<CBV>] | {<CBV>} | <CBV><CBV>
Зауважимо, що порожній рядок є коректним дужковим виразом.
Введемо позначення: A – будь-який правильний дужковий вираз, B та C – два будь-які непусті правильні дужкові вирази. Характеристикою правильного дужкового виразу назвемо числову функцію F від рядка, що представляє правильний дужковий вираз, який обчислюється за такими правилами:
1. F(“”) = 1
2. F(“(”+A+”)”) = F(A) + 1
3. F(“[”+A+”]”) = F(A) + 2
4. F(“{”+A+”}”) = F(A) + 3
5. F(B + C) = F(B) * F(C)
Зауважимо, що тут знак "+" означає операцію конкатенації (об`єднання) рядків.
Для заданого рядка порахувати та вивести значення числової функції F на цьому рядку, якщо він є правильною дужковою послідовністю, в іншому випадку вивести текст "The first mistake in position", за яким через пробіл слідує номер першої позиції, через яку рядок не є правильний дужковим виразом (позиції вважати занумерованими зліва направо починаючи з 1). Очевидно, якщо рядок скінчився без помилок, але залишилася хоча б одна не закрита дужка, помилкою вважатимемо позицію з номером, що дорівнює довжині рядка плюс 1 (ніби відсутня з неповажної причини – дивитись п`ятий приклад).
Обмеження
Довжина рядка не перевищує 60 символів. У рядку можуть бути лише дужки.
Вхідні дані
Єдиний рядок – вхідний рядок.
Вихідні дані
У єдиному рядку – відповідь на завдання.