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. If the list cannot be divided into two equal parts, the function should return two parts where one part is larger than the other by one element.
  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]) == ([1, 2, 3], [4, 5])
  assert divide_in_two_equal_parts([10, 20, 30, 40, 50, 1]) == ([10, 20, 50], [30, 40, 1])
  assert divide_in_two_equal_parts([4, 5, 6, 7]) == ([4, 5], [6, 7])
  assert divide_in_two_equal_parts([1]) == ([1], [])
output: def divide_in_two_equal_parts(nums):
      nums.sort()
      n = len(nums)
      if n == 1:
          return [nums, []]
      half = n // 2
      part1 = nums[:half]
      part2 = nums[half:]
      if sum(part1) > sum(part2):
          part1, part2 = part2, part1
      return [part1, part2]