長いので二つに回答分けます