いろいろわかりやすいように書いてみた