calc :: [String] -> (Int, [String])
calc (num:[]) = (read num,[])
calc (d:ds)
  | d == "+" = calc' (+)
  | d == "-" = calc' (-)
  | d == "*" = calc' (*)
  | otherwise = (read d, ds)
    where
      calc' f = (f d2 d1, ds'')
      (d1, ds') = calc ds
      (d2, ds'') = calc ds'

main :: IO ()
main = do
  ds <- fmap (reverse . words) getLine
  print $ fst $ calc ds

-- ??????????????????????????¨???????????£??¨?°???????????????????????°???????????????????