1966: 中缀表达式

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Normal Judger Creator:
Submit:11 Solved:1

Description

【问题描述】

输入一个中缀表达式(由0-9组成的运算数、加+减—乘*除/四种运算符、左右小括号组成。注意“—”也可作为负数的标志,表达式以“@”作为结束符),判断表达式是否合法,如果不合法,请输出“NO”;否则请把表达式转换成后缀形式,再求出后缀表达式的值并输出。

注意:必须用栈操作,不能直接输出表达式的值。如果再考虑是实数运算呢?

【输入格式】

输入文件的第一行为一个以@结束的字符串。

【输出格式】

如果表达式不合法,请输出“NO”,要求大写。

如果表达式合法,请输出计算结果。

【输入样例】

1+2*8-9@

【输出样例】

8

Input

输入文件的第一行为一个以@结束的字符串。

Output

如果表达式不合法,请输出“NO”,要求大写。

如果表达式合法,请输出计算结果。

Sample Input Copy

1+2*8-9@

Sample Output Copy

8