input: Write a function to divide a given list of numbers into two parts such that the difference between the sum of the two parts is minimized. If the list has an odd number of elements, one part will have one more element than the other part. Make sure the function returns the two lists.
  def divide_in_two_parts(lst):
      total_sum = sum(lst)
      half_sum = total_sum // 2
      part1 = []
      part2 = []
      current_sum = 0
      
      for num in sorted(lst, reverse=True):
          if current_sum + num <= half_sum:
              part1.append(num)
              current_sum += num
          else:
              part2.append(num)
      
      return part1, part2
  
  assert divide_in_two_parts([2, 3, 4, 5, 6, 7])==([6, 5, 2], [7, 4, 3])
  assert divide_in_two_parts([1, 2, 3, 4, 5])==([4, 3], [5, 2, 1])
  assert divide_in_two_parts([10, 10, 10])==([10, 10], [10])
  assert divide_in_two_parts([1])==([1], [])
  assert divide_in_two_parts([])==([], [])
output: def divide_in_two_parts(lst):
      total_sum = sum(lst)
      half_sum = total_sum // 2
      part1 = []
      part2 = []
      current_sum = 0
      
      for num in sorted(lst, reverse=True):
          if current_sum + num <= half_sum:
              part1.append(num)
              current_sum += num
          else:
              part2.append(num)
      
      return part1, part2