Арифметика с Морзе
Азбука Морзе — это метод передачи текстовых сообщений с помощью последовательностей точек "." и тире "-". Например, буква "A" кодируется как ".-", а буква "B" — как "-...". Этот код использовался в армии и гражданских приложениях, а вы будете использовать его для выполнения математических операций.
Для этого мы присваиваем значения точкам и тире и добавляем два дополнительных символа. В таблице ниже показаны четыре разрешенных символа и их значения.
Число Морзе — это строка, содержащая только эти четыре символа; его значение — это сумма значений каждого символа. Например, значение "=.-.." равно 10+1+5+1+1 = 18. Каждое число Морзе имеет уникальное значение, но одно и то же значение может быть представлено несколькими числами Морзе. Например, значение 3 могут иметь три числа Морзе: "...", ".:" и ":.".
Теперь, чтобы составить выражения, нам нужны операторы. Мы используем два арифметических оператора: "+" для сложения и "*" для умножения. Выражение Морзе — это последовательность строк, чередующих числа Морзе и операторы, которая начинается и заканчивается числом Морзе и содержит как минимум один оператор. Выражения Морзе вычисляются путем замены каждого числа Морзе его значением, после чего выполняется вычисление математического выражения с учетом стандартных приоритетов и ассоциативности операторов. Например, значение выражения Морзе "=.-.. + ... * :." равно 18 + 3 × 3 = 18 + (3 × 3) = 27. Дано выражение Морзе, выведите его значение.
Входные данные
Первая строка содержит целое число N (1 ≤ N ≤ 4), представляющее количество операторов в выражении Морзе. Вторая строка содержит 2N+1 непустых строк, представляющих выражение Морзе. Строки чередуются между числами Морзе и операторами, причем первая и последняя строки — это числа Морзе. Каждое число Морзе имеет длину не более 7 символов, где каждый символ — это либо ".", "-", ":" или "=". Каждый оператор — это либо "+", либо "*".
Выходные данные
Выведите строку с целым числом, представляющим значение выражения Морзе.