#icpc2013autumnf. [icpc2013autumn_f]Shipura
[icpc2013autumn_f]Shipura
问题描述
Dr. Suposupo 开发了一种叫做 Shipura 的编程语言。Shipura 只支持一个二元运算符 和一个一元函数 。
被计算为 (即, 的最大整数部分),而 被计算为 (即, 除以 的余数)。
运算符 是左结合的。例如,表达式 被解释为 ,而不是 。注意,这些括号在实际的 Shipura 表达式中并不存在。
Shipura 的语法给出如下(BNF 形式):
expr ::= term | expr sp ">>" sp term
term ::= number | "S" sp "<" sp expr sp ">"
sp ::= "" | sp " "
number ::= digit | number digit
digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"```
该语法的起始符号是 $\\tt expr$,表示 Shipura 中的一个表达式。另外,$\\tt number$ 是一个介于 $0$ 和 $1{,}000{,}000{,}000$(含)之间的整数,没有额外的前导零。
编写一个程序来计算 Shipura 表达式的值。
---
### 输入
输入是一系列数据集。每个数据集由一行表示,其中包含一个有效的 Shipura 表达式。
包含单个 ${\\tt \\#}$ 的行表示输入结束。可以假设数据集的数量最多为 $100$,输入文件的总大小不超过 $2{,}000{,}000$ 字节。
### 输出
对于每个数据集,输出一行,包含表达式的计算值。
---
### 样例输入
```plain
S< S< 12 >> 2 > >
123 >> 1 >> 1
1000000000 >>129
S<S<S<S<S<2>>>>>
S <S< S<2013 >>> 11 >>> 10 >
#```
### 样例输出
```plain
81
30
0
294967268
14592400```
---
### 资源名称
[JAG Practice Contest for ACM-ICPC Asia Regional 2013](http://acm-icpc.aitea.net/index.php?2013%2FPractice%2F%CC%CF%B5%BC%C3%CF%B6%E8%CD%BD%C1%AA)