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 divided parts as a tuple. If the input list is empty or has only one element, return it as it is.
  def divide_in_two_equal_parts(lst):
      if len(lst) <= 1:
          return lst, []
      
      target = sum(lst) // 2
      part1 = []
      part2 = []
      left_sum = 0
      right_sum = 0
      
      for num in reversed(lst):
          if left_sum <= right_sum:
              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, 5, 2], [6, 4, 3])
  assert divide_in_two_equal_parts([1, 2, 3, 4, 5]) == ([5, 2], [4, 3, 1])
  assert divide_in_two_equal_parts([]) == ([], [])
  assert divide_in_two_equal_parts([1]) == ([1], [])
output: def divide_in_two_equal_parts(lst):
      if len(lst) <= 1:
          return lst, []
      
      target = sum(lst) // 2
      part1 = []
      part2 = []
      left_sum = 0
      right_sum = 0
      
      for num in reversed(lst):
          if left_sum <= right_sum:
              left_sum += num
              part1.append(num)
          else:
              right_sum += num
              part2.append(num)
      
      return part1, part2