P3666 [USACO17OPEN] COWBASIC P

题目描述

Bessie 发明了一种新的编程语言,但由于还没有编译器,她需要你的帮助来实际运行她的程序。 COWBASIC 是一种简单而优雅的语言。它有两个关键特性:加法和 MOO 循环。Bessie 设计了一个巧妙的解决方案来处理溢出:所有的加法都是在模 $10^9+7$ 下进行的。但 Bessie 的真正成就是 MOO 循环,它可以固定次数地运行一段代码。当然,MOO 循环和加法可以嵌套。 给定一个 COWBASIC 程序,请帮助 Bessie 确定它返回的数字。

输入格式

你将获得一个最多 100 行的 COWBASIC 程序,每行最多 350 个字符。一个 COWBASIC 程序是一个语句列表。 有三种类型的语句: ```cpp = MOO { } RETURN ``` 有三种类型的表达式: ```cpp ( ) + ( ) ``` 字面量是一个最多为 100,000 的正整数。 变量是一个最多由 10 个小写英文字母组成的字符串。 保证在定义之前不会使用或 RETURN 任何变量。保证 RETURN 恰好发生一次,并且在程序的最后一行。

输出格式

输出一个正整数,表示 RETURN 的变量的值。

说明/提示

评分 在 20% 的测试用例中,MOO 循环不会嵌套。 在另外 20% 的测试用例中,程序只有一个变量。MOO 循环可以嵌套。 在剩余的测试用例中,没有进一步的限制。