[HNOI2002] 沙漠寻宝
题目描述
传说在漫无边际的沙漠中有一个古代城市的废墟,里面埋藏了大量的宝藏。听到这个消息的人一个又一个的前去寻宝,却没有发现一个回来的人。
探险家Jack是冒险者队伍中的后起之秀,它加入冒险者队伍的时间虽然不长,却屡屡依靠自己过人的智慧使自己和队友们脱离了险境。“明知山有虎,偏向虎山行”。 在Jack探险队的宗旨的指引下,Jack和他的队友们踏上了沙漠寻宝的旅程。
“我发现沙漠废墟了。”在一名队员的叫喊声中,Jack隐约看到了一些古代城市的残垣断壁和一个通道。 “一定就是这里了。”Jack带领着大家进入了通道。
然而,不幸的事情发生了。就在Jack他们进入通道的同时,通道的入口“轰”的一声就关闭了。Jack和他的队友走到了通道的尽头,正前方是一个巨大的铁门。最令人奇怪的是,铁门竟然使用的是一个极度先进的带有键盘和显示器的电子密码锁,铁门旁还赫然写着开锁的方法:“想到得到我的宝藏的人们,到这里的路途很辛苦吧!不过这一切很快就会结束的,这个铁门就是你们的葬身之地。除非你们能够计算出我屏幕上程序的结果,并且通过键盘输入进去,这扇门就会打开,里面就是我所有的宝藏”
我们的Jack果然不负众望,他打开了他的行囊,拿出了一个类似保险箱的东西。“没见过吗?这是最新型的笔记本电脑,没有它,我再怎么天才也不可能打开这扇门的。”面对大家疑惑的目光,Jack打开了笔记本电脑的开关。
“这个宝藏主人的程序十分的奇怪,我虽然没见过,但根据我的猜测,它的结构应该是这样的:
程序共包含6种语句:start,end,loop,continue,write,以及?=\*形式的语句。
start是程序的开始标志,其对应了一个结束标志end。
loop后面空一格并紧跟了一个表达式\*,表达式\*的值N表示即将循环N次,对应的循环结束标志也是end。
continue表示程序跳转到当前循环对应的end语句,break表示程序将跳出当前的循环。
write后面空一格并紧跟了一个表达式\*,表示要输出表达式\*的值,也就是要输入到密码锁中的内容。
?=\*是赋值语句,?是变量的名字,\*计算出来的值是要给?的。
另外,值得庆幸的是,变量名只允许使用’a’..’z’这26个小写字母,表达式也只允许使用加减乘除四种运算和以及括号,参与运算的也只能是26个变量或者是整数(允许不止一位整数)。表达式不会超过80个字符。”
“希望Jack能很快将锁打开。”大家心里默念着。
给定程序对所有语句的执行次数的总和小于2000000次。
输入输出格式
输入格式
输入文件为program.in,给出了宝藏主人的程序。其中任两条语句用若干个空格或回车符隔开。
输出格式
输出文件为program.out,是你要输入密码锁的内容。每次输出占一行。
输入输出样例
输入样例 #1
start
i=0
j=0
loop 100
i=i+1
j=j+i
continue
loop 10
write j
end
end
loop 100
j=j+1
break
j=j+1
end
write j
end
输出样例 #1
5051