题目描述
Bessie研制出了一种新的编程语言,但是因为还没有设计编译器的缘故,她需要你的帮助来运行她编的程序。
COWBASIC语言是一种简单的、优美的语言。它有两个关键功能:变量相加和MOO循环。对于可能的溢出问题,Bessie想出了一个很好的方法,所有的变量加法都要以10^9+7为模。但是Bessie设计的COWBASIC语言中真正成功之处是可以运行一段固定数量的代码的MOO循环。MOO循环和加法是可以嵌套的。
给你一段COWBASIC程序,请你帮助Bessie确定这个程序段将会返回什么数值。
输入格式:
你将会得到一段最长为100行的COWBASIC程序,每行的长度最长为350个字符。COWBASIC语言的结构和类型如下所述:
这是COWBASIC语言的三种主要结构:
<变量>=<表达式> //赋值结构
<数字(循环次数)>MOO{ //循环结构
<一系列的表达式(也就是循环部分)>
}
RETURN <变量> //输出结构 把return的变量输出就行了
这是COWBASIC语言的三种类型(我是这么理解的)
<数字> 这些数字是小于100,000正整数
<变量> 这些变量名字是一串10个以内的小写英文字母
(<表达式>)+(<表达式>) //注意:这是COWBASIC中变量加法的表达方法,详见样例
我们保证返回的变量是已定义的,RETURN(输出结构)将只会出现一次且在程序的最后一行。
输出格式:
Output a single positive integer, giving the value of the RETURNed variable.
输出返回的变量值(有符号的整形数字)
说明:
输入样例#1:
x = 1
10 MOO {
x = ( x ) + ( x )
}
RETURN x
输出样例#1:
1024
输入样例#2:
n = 1
nsq = 1
100000 MOO {
100000 MOO {
nsq = ( nsq ) + ( ( n ) + ( ( n ) + ( 1 ) ) )
n = ( n ) + ( 1 )
}
}
RETURN nsq
输出样例#2:
4761