こういうとき関数の切り口をどのへんにするかすげー悩む