input:         def solveTowerOfHanoi(num_disks: int, start_rod: str = 'A', end_rod: str = 'C', aux_rod: str = 'B'): 
              """Solve the Tower of Hanoi problem for a given number of disks.
      
              :param num_disks: Number of disks.
              :param start_rod: The starting rod (default is 'A').
              :param end_rod: The destination rod (default is 'C').
              :param aux_rod: The auxiliary rod (default is 'B').
              :return: None
      
              >>> solveTowerOfHanoi(1)
              Move disk 1 from rod A to rod C
  
              >>> solveTowerOfHanoi(2)
              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
  
              >>> solveTowerOfHanoi(3)
              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
              """
              if num_disks == 1: 
                  print("Move disk 1 from rod", start_rod, "to rod", end_rod) 
                  return
              solveTowerOfHanoi(num_disks - 1, start_rod, aux_rod, end_rod) 
              print("Move disk", num_disks, "from rod", start_rod, "to rod", end_rod) 
              solveTowerOfHanoi(num_disks - 1, aux_rod, end_rod, start_rod)
output:     if num_disks == 1: 
          print("Move disk 1 from rod", start_rod, "to rod", end_rod) 
          return
      solveTowerOfHanoi(num_disks - 1, start_rod, aux_rod, end_rod) 
      print("Move disk", num_disks, "from rod", start_rod, "to rod", end_rod) 
      solveTowerOfHanoi(num_disks - 1, aux_rod, end_rod, start_rod)