### Tell us what’s happening:

NUMBER_OF_DISKS = 4

rods = {

‘A’: list(range(NUMBER_OF_DISKS, 0, -1)),

‘B’: ,

‘C’:

}

def move(n, source, auxiliary, target):

if n > 0:

# move n - 1 disks from source to auxiliary, so they are out of the way

move(n - 1, source, auxiliary, target)

```
# display starting configuration
rods[target].append(rods[source[-1]])
rods[source].pop()
print(rods, '\n')
```

# initiate call from source A to target C with auxil

### Your code so far

```
NUMBER_OF_DISKS = 4
rods = {
'A': list(range(NUMBER_OF_DISKS, 0, -1)),
'B': [],
'C': []
}
# User Editable Region
def move(n, source, auxiliary, target):
if n > 0:
# move n - 1 disks from source to auxiliary, so they are out of the way
move(n - 1, source, auxiliary, target)
# display starting configuration
rods[target].append(rods[source[-1]])
rods[source].pop()
print(rods, '\n')
# User Editable Region
# initiate call from source A to target C with auxiliary B
move(NUMBER_OF_DISKS, 'A', 'B', 'C')
```

### Your browser information:

User Agent is: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36`

### Challenge Information:

Learn Recursion by Solving the Tower of Hanoi Puzzle - Step 46