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, Платина