input: Write a function to implement the "Tower of Hanoi" algorithm for a 4-disk problem. The function should print the sequence of moves to solve the problem given the number of disks and three rods ('A', 'B', 'C') with 'A' as the starting rod, 'C' as the ending rod, and 'B' as the auxiliary rod. If the number of disks is 1, it should directly print the move from the starting rod to the ending rod. 
  
  assert solveTowerOfHanoi(1, 'A', 'C', 'B') == print("Move disk 1 from rod A to rod C")
  assert solveTowerOfHanoi(3, 'A', 'C', 'B') == print("Move disk 1 from rod A to rod C", "Move disk 2 from rod A to rod B", "Move disk 1 from rod C to rod B", "Move disk 3 from rod A to rod C", "Move disk 1 from rod B to rod A", "Move disk 2 from rod B to rod C", "Move disk 1 from rod A to rod C")
  assert solveTowerOfHanoi(4, 'A', 'C', 'B') == print("Move disk 1 from rod A to rod B", "Move disk 2 from rod A to rod C", "Move disk 1 from rod B to rod C", "Move disk 3 from rod A to rod B", "Move disk 1 from rod C to rod A", "Move disk 2 from rod C to rod B", "Move disk 1 from rod A to rod B", "Move disk 4 from rod A to rod C", "Move disk 1 from rod B to rod C", "Move disk 2 from rod B to rod A", "Move disk 1 from rod C to rod A", "Move disk 3 from rod B to rod C", "Move disk 1 from rod A to rod B", "Move disk 2 from rod A to rod C", "Move disk 1 from rod B to rod C")
output: def solveTowerOfHanoi(n, start, end, aux):
      if n == 1:
          print(f"Move disk 1 from rod {start} to rod {end}")
          return
      solveTowerOfHanoi(n-1, start, aux, end)
      print(f"Move disk {n} from rod {start} to rod {end}")
      solveTowerOfHanoi(n-1, aux, end, start)