using System; using System.Collections; class RPN { static void Main() { Stack s = new Stack(); string line; while((line = Console.In.ReadLine()) != null) { foreach(string a in line.Split(new char[] {' '})) { if(a.Length == 0) continue; try{ s.Push(Double.Parse(a) + ""); } catch (Exception e) { try { double d2 = Double.Parse((string)s.Pop()); double d1 = Double.Parse((string)s.Pop()); switch (a) { case "+": s.Push(d1 + d2 + ""); break; case "-": s.Push(d1 - d2 + ""); break; case "*": s.Push(d1 * d2 + ""); break; case "/": s.Push(d1 / d2 + ""); break; default: Console.WriteLine("unknown operator: " + a); break; } } catch (Exception e2) { Console.WriteLine("stack underflow"); } } } Console.WriteLine(s.Count != 0 ? s.Peek() : ""); } } }