Rubyなら>>455にあるやろ
というかただ別言語に書き下すだけで解いたことになるんだろうか
工夫の余地もほとんどないし
https://pastebin.com/gbLdzrqq