eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

COWBASIC

COWBASIC

Беси изобрела новый язык программирования, но поскольку нет компилятора, она нуждается в Вашей помощи для исполнения её программ.

COWBASIC - это простой, элегантный язык. У него две основные черты: сложение и циклы. Для решения проблемы переполнения, Беси выполняет все операции сложения по модулю 109 + 7. MOO-цикл исполняет блок кода фиксированное количество раз. Циклы и сложения могут быть вложенными.

Вам дана COWBASIC-программа, определите результат её выполнения - число, которое она вернёт.

Входные данные

Вам дана COWBASIC-программа длиной не более 100 строк, каждая строка длиной не более 350 символов. COWBASIC-программа это список операторов. Имеется три типа операторов:

<переменная> = <выражение>

<литерал> MOO {
  <список операторов>
}

RETURN <переменная>

Имеется три типа выражений:

<литерал>

<перменная>

( <выражение> ) + ( <выражение> )

Литерал - это положительное целое число не более 105.

Переменная - это строка не более 10 маленьких латинских букв.

Гарантируется, что переменная никогда не будет использована или возвращена оператором RETURN прежде, чем она будет определена. Гарантируется, оператор RETURN будет только один раз в последней строке программы.

Выходные данные

Выведите одно положительное целое число - значение переменной, возвращённой оператором RETURN.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
x = 1
10 MOO {
  x = ( x ) + ( x )
}
RETURN x
Вихідні дані #1
1024
Джерело 2017 USACO US Open, Платина