この問題を解いてみよう。
http://karetta.jp/article/blog/oneline/009668
log使うあたりダサすぎ。もっとスマートに書きたい
import Data.Bits f(n+1)=concat $ replicate 2 $ zipWith(((ceiling.logBase 2.fromInteger.(1+)).).xor) [0..2^n][1..2^n] main = getLine >>= print.f.read >> main