module Main where
 
import Control.Applicative
import Text.Printf
import Numeric
 
main :: IO ()
main = loop

loop :: IO ()
loop = do
  { [as, os, bs] <- getStrings
  ; case os of
      "?" -> return ()
      "+" -> print (readInt' as + readInt bs) >> loop
      "-" -> print (readInt' as - readInt bs) >> loop
      "*" -> print (readInt' as * readInt bs) >> loop
      "/" -> print (readInt' as `div` readInt bs) > loop
  }
--
 
getInts :: IO [Int]
getInts = map read . words <$> getLine
 
putInts :: [Int] -> IO ()
putInts = putStrLn . unwords . map show
 
getDoubles :: IO [Double]
getDoubles = map read . words <$> getLine
 
putDoubles :: [Double] -> IO ()
putDoubles = putStrLn . unwords . map showDouble
 
showDouble :: Double -> String
showDouble x = showFFloat Nothing x ""

getStrings :: IO [String]
getStrings = words <$> getLine

readInt' :: String -> Int
readInt' = read


