input: Write a function to divide a given list of numbers into two equal parts such that the difference between the sum of the two parts is minimum.
  def divide_in_two_equal_parts(lst):
      target = sum(lst) // 2
      part1 = []
      part2 = []
      left_sum = 0
      right_sum = 0
      
      for num in lst:
          if left_sum <= right_sum:
              left_sum += num
              part1.append(num)
          else:
              right_sum += num
              part2.append(num)
           
      return part1, part2
  
  part1, part2 = divide_in_two_equal_parts([2, 3, 4, 5, 6, 7])
  
  print("Part 1:", part1)
  print("Part 2:", part2)
output: def divide_in_two_equal_parts(lst):
      target = sum(lst) // 2
      dp = [False] * (target + 1)
      dp[0] = True
      part1 = []
      part2 = []
      
      for num in lst:
          for i in range(target, num - 1, -1):
              if dp[i - num]:
                  dp[i] = True
      
      for i in range(target, -1, -1):
          if dp[i]:
              part1 = [num for num in lst if sum(part1) + num <= i]
              part2 = [num for num in lst if num not in part1]
              break
      
      return part1, part2