import           Control.Applicative   ((<$>))
import           Data.Bits             (xor)
import           Data.Char             (isSpace)
import           Data.List             (foldl1, unfoldr)
import           Data.ByteString.Char8 (ByteString)
import qualified Data.ByteString.Char8 as BSC8

getIL :: IO [Int]
getIL = unfoldr f <$> BSC8.getLine
  where
    -- f :: ByteString -> Maybe (Int, ByteString)
    f s = do
      (n, s') <- BSC8.readInt s
      return (n, BSC8.dropWhile isSpace s')

main :: IO ()
main = do
  BSC8.getLine
  ai <- getIL
  putStrLn $ unwords $ map show $ map (xor (foldl1 xor ai)) ai
