input: Write a python function to solve the Tower of Hanoi problem.
  assert hanoi(1, 'A', 'B', 'C') == None
  assert hanoi(2, 'X', 'Y', 'Z') == None
  assert hanoi(3, 'P', 'Q', 'R') == None
output: def hanoi(n, source, auxiliary, target):
      if n == 1:
          print(f"Move disk 1 from {source} to {target}")
          return
      hanoi(n-1, source, target, auxiliary)
      print(f"Move disk {n} from {source} to {target}")
      hanoi(n-1, auxiliary, source, target)