[CTSC1998] 算法复杂度

题目背景

CTSC1998 D1T3 我们在编程时,最关心的一个问题就是算法的时间复杂度。但是分析一个程序的复杂度是一项很困难的工作,在程序的码风不是很好的情况下更是如此。 所以,专门研究算法的 SERKOI 小组决定开发出一个分析程序时间复杂度的软件。由于这是一个全新的领域,所以 SERKOI 小组决定先从简单情况入手进行分析。

题目描述

为了简化问题,程序只包含循环和顺序结构,程序的结构定义如下: $\texttt{begin <statement> end}$ 一个语句块的结构是**递归定义**的,如下所示: $\texttt{loop x <statement> end}$ 或者 $\texttt{op <statement>}$ 或者为 $\texttt{break <statement>}$ 或者为 $\texttt{continue <statement>}$ 语句块可以为空。 注意: 1. 一个程序都是以 $\texttt{begin}$ 开始,以相应的 $\texttt{end}$ 结束; 2. $\texttt{loop x <statement> end}$ 表示其中的语句重复执行 $x$ 次; 3. $\texttt{op x}$ 表示执行 $x$ 个单位操作; 4. 上面两点中的 $x$ 可以是一个正整数或 $n$; 5. $\texttt{break}$ 语句的作用是跳出这一层循环, $\texttt{continue}$ 语句的作用是跳过这一层循 环的其它语句,直接进入下一次循环。如果它($\texttt{break}$ 或 $\texttt{continue}$)不在任何一层循环中,**请忽略它们**。 你需要写一个程序,用来求出题目描述的程序的时间复杂度,并以多项式的形式输出。 注意,该多项式是关于 $n$ 的多项式,而且,**常数项和系数不能省略**。 数据保证能求出该程序的时间复杂度。

输入输出格式

输入格式


输入中包含一个完整的程序, 每两条语句之间至少用一个空格或换行符隔开。

输出格式


将计算出的时间复杂度多项式按**降幂排列**输出。

输入输出样例

输入样例 #1

begin loop n loop 3 loop n
op 20
end end end
loop n op 3 break end
loop n loop n
op 1
break
end end
end

输出样例 #1

60n^2+n+3

输入样例 #2

begin
op n
loop 3
op n
break
end
loop n
loop n
op 1
continue
op n
end
end
end 

输出样例 #2

n^2+2n

说明

循环的嵌套最多不超过 $20$ 层。 保证最终时间复杂度多项式每项的系数不超过 ${10}^9$。