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. Return the two parts as a tuple. If the list cannot be divided into two equal parts due to an odd number of elements, focus on minimizing the difference in sums.
  
  def divide_in_two_equal_parts(lst):
      target = sum(lst) // 2
      part1 = []
      part2 = []
      left_sum = 0
      right_sum = 0
      
      for num in sorted(lst, reverse=True):
          if left_sum <= target:
              left_sum += num
              part1.append(num)
          else:
              right_sum += num
              part2.append(num)
      
      return part1, part2
  
  assert divide_in_two_equal_parts([2, 3, 4, 5, 6, 7])==([7, 4, 2], [6, 5, 3])
  assert divide_in_two_equal_parts([1, 2, 3, 4, 5])==([5, 2], [4, 3, 1])
  assert divide_in_two_equal_parts([1, 2, 3, 6])==([6, 2], [3, 1])
  assert divide_in_two_equal_parts([10, 20, 30, 40])==([40, 10], [30, 20])
  assert divide_in_two_equal_parts([])==([], [])
output: def divide_in_two_equal_parts(lst):
      target = sum(lst) // 2
      part1 = []
      part2 = []
      left_sum = 0
      right_sum = 0
      
      for num in sorted(lst, reverse=True):
          if left_sum <= target:
              left_sum += num
              part1.append(num)
          else:
              right_sum += num
              part2.append(num)
      
      return part1, part2