许多密码可以使用各种机器和自动机更快地计算。然而,这类机器的问题在于必须有人为它们编写程序。想象一下,如果我们能编写一个可以自动编写其他程序的程序,那该有多么便利。在本题中,我们将(暂时)忽略这种“通用程序”是不可能实现的事实,同时也忽略如果它真的存在,我们大多数人都会失业的事实。
你的任务是编写一个程序,自动为问题 execute 中定义的栈机(stack machine)生成程序。
输入格式
输入包含多个测试用例。每个测试用例以一个整数 $N$ ($1 \le N \le 5$) 开始,表示你的程序需要处理的输入数量。接下来的 $N$ 行每行包含两个整数 $V_i$ 和 $R_i$。其中 $V_i$ ($0 \le V_i \le 10$) 是输入值,$R_i$ ($0 \le R_i \le 20$) 是该输入值对应的期望输出值。所有输入值 $V_i$ 互不相同。
每个测试用例后面都跟有一个空行。输入以一行仅包含一个零(代替输入数量 $N$)结束。
输出格式
对于每个测试用例,生成任意一个能对所有输入产生正确输出值的程序。这意味着,如果该程序在执行时,初始栈中仅包含输入值 $V_i$,那么在成功执行后,栈中必须仅包含一个单一的值 $R_i$。
你生成的程序必须严格满足问题 execute 的规范中描述的所有条件,包括精确的格式、空格数量、最大程序长度、数值限制、栈大小等。当然,程序在执行过程中不能发生错误(failure)。
在每个程序(包括最后一个)之后打印一个空行。
样例
输入样例 1
3 1 3 2 6 3 11 1 1 1 2 2 4 10 1 0
输出样例 1
DUP MUL NUM 2 ADD END END NUM 3 MOD DUP MUL END