input: def solveTowerOfHanoi(num_disks: int, start_rod: str = 'A', end_rod: str = 'C', aux_rod: str = 'B') -> None:
      """Solves the Tower of Hanoi puzzle for a specified number of disks.
      Moves disks from the start rod to the end rod using the auxiliary rod.
      Prints the steps to solve the puzzle for a 4-disk 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)