input: Write a function to solve the Towers of Hanoi game and print each move. The function should take the number of disks and the names of the source, spare, and target pegs as arguments. The function should handle the initial state where all disks are on the source peg.
  assert hanoi(3, ['A'], ['B'], ['C']) == None
  assert hanoi(0, ['A'], ['B'], ['C']) == None
output: def hanoi(n, source, spare, target):
      if n == 0:
          return
      hanoi(n-1, source, target, spare)
      print(f"Move disk {n} from {source[0]} to {target[0]}")
      hanoi(n-1, spare, source, target)