import Data.Int (Int64) import Text.Printf (printf) findPair :: Integral a => a -> Maybe (a, a) findPair n | null cands = Nothing | otherwise = let a = head cands in Just (a, n - a) where numKs = succ $ floor $ logBase (2.0 :: Double) $ fromIntegral n ps = [2 ^ k | k <- [0 .. numKs - 1]] f x = notElem x ps && notElem (n - x) ps cands = filter f [1 .. min (numKs + 1) (n - 1)] main :: IO () main = do n <- readLn :: IO Int64 case findPair n of Nothing -> putStrLn "-1" Just (a, b) -> printf "%d %d\n" a b