#P2186. 小 Z 的栈函数
小 Z 的栈函数
题目描述
小 Z 最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下 11 个操作:
- :栈顶放入 。
- :抛弃栈顶元素。
- :将栈顶元素取出,然后放入它的相反数。
- :再放入一个和栈顶元素相同的数。
- :交换栈顶的两个元素。
- :取出栈顶的两个元素,两元素相加,所得结果放入栈内。
- :取出栈顶的两个元素,第二个元素减去第一个元素,所得结果放入栈内。
- :取出栈顶的两个元素,两元素相乘,所得结果放入栈内。
- :取出栈顶的两个元素,第二个元素整除以第一个元素,所得结果放入栈内。
- :取出栈顶的两个元素,第二个元素取模以第一个元素,所得结果放入栈内。
- :结束这个程序。
然后,小 Z 用上面的 11 种操作写了一个一元函数 。 就是放入栈里面第一个初始元素。然后经过这个函数的一系列操作,当函数结束的时候,正常情况下,栈里面会有唯一的一个元素。剩下的这个元素就作为函数 的返回值。
小 Z 有 个询问,询问每个值 经过上述函数所映射出的 是多少。但是这个由于机器太老了,跑起东西来太慢了,小 Z 又是一个急性子,所以请你们写一个程序,来帮助小 Z 计算他查询的 。
还有,由于这台机器太破了,所以如果运算过程中有数字的绝对值大于 ,机器将产生故障。
输入格式
输入首先有若干行,仅包含上述 11 个操作,用来描述函数 的操作,函数的结束保证以 结尾.
接下来有一个整数,表示询问的个数 。
接下来 行,每行一个整数 ,表示询问 的值。
输入数据不保证合法。
输出格式
输出 行,每行表示一个询问的结果。按如下规则输出:
- 如果最后栈内不是一个元素,输出
ERROR
。 - 如果运算过程中有数字的绝对值大于 ,输出
ERROR
。 - 如果输入数据不合法,导致中途退出,输出
ERROR
。 - 否则输出对应的 。
NUM 600000000
ADD
END
3
0
600000000
1
600000000
ERROR
600000001
提示
数据规模与约定
对于全部测试点,保证函数的操作步数不超过 ,,。