OCaml
http://codepad.org/fjU4CJLb
ちょっとしんどかった