{
  "disks": 3,
  "pegs": [
    "A",
    "B",
    "C"
  ],
  "start": "A",
  "goal": "C",
  "disk_numbering": "1 is the smallest disk; lists run bottom to top",
  "method": "recursive: move the top n-1 disks to the spare peg, move the largest disk, move the n-1 disks back on top",
  "moves": [
    {
      "move": 1,
      "disk": 1,
      "from": "A",
      "to": "C",
      "after": {
        "A": [
          3,
          2
        ],
        "B": [],
        "C": [
          1
        ]
      }
    },
    {
      "move": 2,
      "disk": 2,
      "from": "A",
      "to": "B",
      "after": {
        "A": [
          3
        ],
        "B": [
          2
        ],
        "C": [
          1
        ]
      }
    },
    {
      "move": 3,
      "disk": 1,
      "from": "C",
      "to": "B",
      "after": {
        "A": [
          3
        ],
        "B": [
          2,
          1
        ],
        "C": []
      }
    },
    {
      "move": 4,
      "disk": 3,
      "from": "A",
      "to": "C",
      "after": {
        "A": [],
        "B": [
          2,
          1
        ],
        "C": [
          3
        ]
      }
    },
    {
      "move": 5,
      "disk": 1,
      "from": "B",
      "to": "A",
      "after": {
        "A": [
          1
        ],
        "B": [
          2
        ],
        "C": [
          3
        ]
      }
    },
    {
      "move": 6,
      "disk": 2,
      "from": "B",
      "to": "C",
      "after": {
        "A": [
          1
        ],
        "B": [],
        "C": [
          3,
          2
        ]
      }
    },
    {
      "move": 7,
      "disk": 1,
      "from": "A",
      "to": "C",
      "after": {
        "A": [],
        "B": [],
        "C": [
          3,
          2,
          1
        ]
      }
    }
  ],
  "eight_disks": {
    "moves": 255,
    "moves_per_disk_smallest_first": [
      128,
      64,
      32,
      16,
      8,
      4,
      2,
      1
    ],
    "smallest_disk_moves_on_every_odd_move": true,
    "disk_moved_on_move_m_is_1_plus_times_m_halves_exactly": true,
    "largest_disk_moves_on_move": 128
  }
}
