input: def divide_in_two_equal_parts(lst):
      """Divide the given list of numbers into two parts such that the difference between the sums of the two parts is minimized.
      >>> divide_in_two_equal_parts([2, 3, 4, 5, 6, 7])
      ([2, 3, 6], [4, 5, 7])
      """
output:     total_sum = sum(lst)
      half_sum = total_sum // 2
      n = len(lst)
      dp = [[0] * (half_sum + 1) for _ in range(n + 1)]
  
      for i in range(1, n + 1):
          for j in range(1, half_sum + 1):
              if lst[i - 1] <= j:
                  dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - lst[i - 1]] + lst[i - 1])
              else:
                  dp[i][j] = dp[i - 1][j]
  
      part1_sum = dp[n][half_sum]
      part2_sum = total_sum - part1_sum
      part1, part2 = [], []
      j = half_sum
  
      for i in range(n, 0, -1):
          if dp[i][j] != dp[i - 1][j]:
              part1.append(lst[i - 1])
              j -= lst[i - 1]
          else:
              part2.append(lst[i - 1])
  
      return part1, part2