input: Write a function that takes a list of numbers as input and divides it into two equal parts such that the difference between the sum of the two parts is minimum. If the total number of elements in the list is odd, one part will have one more element than the other. Return the two parts as a tuple of lists.
  
  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 + num <= target:
              left_sum += num
              part1.append(num)
          else:
              right_sum += num
              part2.append(num)
           
      return sorted(part1), sorted(part2)
  
  assert divide_in_two_equal_parts([2, 3, 4, 5, 6, 7])==([2, 3, 7], [4, 5, 6])
  assert divide_in_two_equal_parts([1, 2, 3, 4, 5, 6])==([2, 3, 5], [1, 4, 6])
  assert divide_in_two_equal_parts([20, 30, 40, 50])==([30, 50], [20, 40])
  assert divide_in_two_equal_parts([10, 20, 30])==([10, 20], [30])
  assert divide_in_two_equal_parts([5, 5, 5, 5])==([5, 5], [5, 5])
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 + num <= target:
              left_sum += num
              part1.append(num)
          else:
              right_sum += num
              part2.append(num)
           
      return sorted(part1), sorted(part2)