input: 
  def solveTowerOfHanoi(num_disks: int, start_rod: str = 'A', end_rod: str = 'C', aux_rod: str = 'B') -> None: 
      """ Solve the Tower of Hanoi problem for a given number of disks. The goal
      is to move all disks from the start rod to the end rod using an auxiliary rod.
      It prints the sequence of moves required to solve the problem.
      >>> num_disks = 4
      >>> solveTowerOfHanoi(num_disks)
      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:     if num_disks == 1:
          print(f"Move disk 1 from rod {start_rod} to rod {end_rod}")
          return
      
      solveTowerOfHanoi(num_disks - 1, start_rod, aux_rod, end_rod)
      print(f"Move disk {num_disks} from rod {start_rod} to rod {end_rod}")
      solveTowerOfHanoi(num_disks - 1, aux_rod, end_rod, start_rod)