再帰処理でやってもいいかな