コードの順番を解説に合わせて変更した