Haskell, 126 118 bytes
Haskell, 126 118 108 bytes
main=readLn>>=putStr.([t,reverse t]!!)where t=s++show;t=s++show s;s="main=readLn>>=putStr.([t,reverse t]!!)where t=s++show;t=s++show s;s=" Expects 0 or 1 as input.