import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Stack;
import java.util.StringTokenizer;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
class Engine {
final Stack<Long> stck = new Stack<Long>();
final Stack<String> opstck = new Stack<String>();
final ScriptEngineManager manager = new ScriptEngineManager();
final ScriptEngine engine = manager.getEngineByName("JavaScript");
final char flag = br.readLine().charAt(0);
// int t = Integer.parseInt(br.readLine());
long timer = 0;
long start;
int t = 30000;
while (t-- != 0) {
while (temp.length() == 0)
temp = br.readLine();
while (st.hasMoreTokens()) {
final String c
= st.
nextToken(); if (c.equals("="))
continue;
if (c.equals("+") || c.equals("-") || c.equals("*") || c.equals("/"))
opstck.push(c);
else {
final long num
= Long.
parseLong(c
); stck.push(num);
try {
if (!opstck.empty()) {
final long last = stck.pop();
final String op
= opstck.
pop(); final long first = stck.pop();
start
= System.
currentTimeMillis(); switch (flag) {
case 'E':
final Object evalRes
= engine.
eval(first
+ op
+ last
); final double result
= Double.
parseDouble(evalRes.
toString()); stck.push((long) result);
break;
case 'S':
final long rs = myEvalString(first + op + last);
stck.push(rs);
break;
case 'L':
final long rl = myEvalLong(first, op.charAt(0), last);
stck.push(rl);
break;
}
timer
+= System.
currentTimeMillis() - start
;
// stck.push((long) result);
}
} catch (final ScriptException ex) {
ex.printStackTrace();
}//catch block
}
}
//
//pw.println(stck.pop()); // no printing = no I/O
}
//pw.flush();
System.
out.
println("time: " + timer
+ " (ms)"); }
private static long myEvalString
(final String s
) throws ScriptException
{ for (int i = 0; i < s.length(); i++) {
final char c = s.charAt(i);
if (c >= '0' && c <= '9')
continue;
return myEvalLong
(Long.
parseLong(s.
substring(0, i
)), c,
Long.
parseLong(s.
substring(i
+ 1))); }
// return 0;
}
private static long myEvalLong(final long a, final char op, final long b) throws ScriptException {
switch (op) {
case '+':
return a + b;
case '-':
return a - b;
case '*':
return a * b;
case '/':
return a / b;
}
return 0;
}
private static String getLine
(final int t
) { final StringBuilder buff = new StringBuilder();
buff.append(t + 1).append(" * ").append(t + 2).append(" =\n");
return buff.toString();
}
}