Арифметика з Морзе#6591

Арифметика з Морзе

1 секунда
64 мегабайти
Середня

Код Морзе — це метод передачі текстових повідомлень за допомогою серії крапок "." та тире "-". Наприклад, літера "A" кодується як ".-", а літера "B" — як "-...". Цей код широко використовувався як у військових, так і в цивільних цілях, але ви будете використовувати його для математичних обчислень.

Для цього ми призначаємо значення крапкам і тире, а також використовуємо два додаткових символи для економії місця. У таблиці нижче наведено чотири дозволені символи та їх значення.

Число Морзе — це рядок, що складається лише з цих чотирьох символів; його значення — це сума значень кожного символу. Наприклад, значення "=.-.." дорівнює 10+1+5+1+1 = 18. Зверніть увагу, що кожне число Морзе має унікальне значення, але деякі значення можуть бути представлені кількома числами Морзе. Наприклад, значення можуть мати три числа Морзе: "...", ".:" та ":.".

Отже, числа готові. Для формування виразів нам також потрібні оператори. Ми використовуємо два арифметичні оператори: "+" для додавання та "*" для множення. Вираз Морзе — це послідовність рядків, що чергує числа Морзе та оператори, починається і закінчується числом Морзе і містить принаймні один оператор. Вирази Морзе можна оцінити, замінивши кожне число Морзе його значенням, а потім обчисливши отриманий математичний вираз, використовуючи стандартну пріоритетність операторів і асоціативність. Наприклад, значення виразу Морзе "=.-.. + ... * :." дорівнює 18 + 3 \times 3 = 18 + (3 \times 3) = 27. Дано вираз Морзе, виведіть його значення.

Вхідні дані

Перший рядок містить ціле число (1 \leq N \leq 4), що вказує на кількість операторів у виразі Морзе. Другий рядок містить 2N+1 непорожніх рядків, що представляють вираз Морзе. Рядок чергує числа Морзе та оператори, причому перший і останній рядки є числами Морзе. Кожне число Морзе має не більше символів, де кожен символ є або ".", "-", ":" або "=". Кожен оператор є або "+" або "*".

Вихідні дані

Виведіть ціле число, що представляє значення виразу Морзе.

Приклади

Приклад 1

Loading
Loading