再帰でスリムに書ければカッコ良いんですけどねー。作ってるときに動作確認が楽なのはこっちかなと思ってスタックで書きました。