>>213
同じく話の流れを無視してHaskellで書いてみた。

http://ideone.com/72ySa