import Control.Monad
import Data.Char
import Data.Maybe
import qualified Data.ByteString.Char8 as B
import qualified Data.Vector.Unboxed as VU

tuplify2 (x:y:_) = (x,y)
tuplify2 _ = undefined

readInt = fst . fromJust . B.readInt
readIntTuple = tuplify2 . map readInt . B.words
readIntList = map readInt . B.words

getInt = fmap readInt B.getLine
getIntList = fmap readIntList B.getLine
-- getIntNList n = map readIntList <$> replicateM (fromIntegral n) B.getLine

-- readLine n = VU.unfoldrN n B.readInt <$> B.getLine

toDouble x = fromInteger x :: Double

main = do
  _ <- getLine
  as <- getIntList
  putStrLn . unwords . map show . reverse $ as

