import java.util.*;
import java.lang.*;
import java.io.*;
class ExpressionParser {
private static String operators
= "+-*/"; private static String delimiters
= "() " + operators
;
private static boolean isDelimiter
(String token
) { if (token.length() != 1) return false;
for (int i = 0; i < delimiters.length(); i++) {
if (token.charAt(0) == delimiters.charAt(i)) return true;
}
return false;
}
private static boolean isFunction
(String token
) { if (token.equals("sqrt") || token.equals("cube") || token.equals("pow10")) return true;
return false;
}
private static int priority
(String token
) { if (token.equals("(")) return 1;
if (token.equals("+") || token.equals("-")) return 2;
if (token.equals("*") || token.equals("/")) return 3;
return 4;
}
public static List
<String
> parse
(String infix
) { List<String> postfix = new ArrayList<String>();
Deque<String> stack = new ArrayDeque<String>();
while (tokenizer.hasMoreTokens()) {
curr = tokenizer.nextToken();
if (curr.equals(" ")) continue;
if (isFunction(curr)) stack.push(curr);
else if (isDelimiter(curr)) {
if (curr.equals("(")) stack.push(curr);
else if (curr.equals(")")) {
while (!stack.peek().equals("(")) {
postfix.add(stack.pop());
}
stack.pop();
if (!stack.isEmpty() && isFunction(stack.peek())) {
postfix.add(stack.pop());
}
}
else {
if (curr.equals("-") && (prev.equals("") || (isDelimiter(prev) && !prev.equals(")")))) {
// унарный минус
curr = "u-";
}
else {
while (!stack.isEmpty() && (priority(curr) <= priority(stack.peek()))) {
postfix.add(stack.pop());
}
}
stack.push(curr);
}
}
else {
postfix.add(curr);
}
prev = curr;
}
while (!stack.isEmpty()) {
postfix.add(stack.pop());
}
return postfix;
}
}
class Ideone {
public static Double calc
(List
<String
> postfix
) { Deque<Double> stack = new ArrayDeque<Double>();
if (x.
equals("sqrt")) stack.
push(Math.
sqrt(stack.
pop())); else if (x.equals("cube")) {
stack.push(tmp * tmp * tmp);
}
else if (x.
equals("pow10")) stack.
push(Math.
pow(10, stack.
pop())); else if (x.equals("+")) stack.push(stack.pop() + stack.pop());
else if (x.equals("-")) {
Double b
= stack.
pop(), a
= stack.
pop(); stack.push(a - b);
}
else if (x.equals("*")) stack.push(stack.pop() * stack.pop());
else if (x.equals("/")) {
Double b
= stack.
pop(), a
= stack.
pop(); stack.
push((double) Math.
round(a
/ b
)); }
else if (x.equals("u-")) stack.push(-stack.pop());
else stack.
push(Double.
valueOf(x
)); }
return stack.pop();
}
public static void main
(String[] args
) { Scanner in
= new Scanner
(System.
in); ExpressionParser n = new ExpressionParser();
List<String> expression = n.parse(s);
System.
out.
println(calc
(expression
)); }
}