import qualified Data.ByteString.Char8 as BS
import Data.Char
import Data.List
import Control.Monad

main = do
    -- n <- BS.readInt <$> BS.getLine
    -- a <- map read <$> replicateM n getLine
    [a, b] <- unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
    putStrLn $ if (a + b) `mod` 2 == 1 then "IMPOSSIBLE" else show $ (a + b) `div` 2
