input: from typing import List, Tuple
  
  def divide_in_two_equal_parts(lst: List[int]) -> Tuple[List[int], List[int]]:
      """
      Divide a given list of numbers into two equal parts such that the difference between the sum of the two parts is minimum.
      >>> divide_in_two_equal_parts([2, 3, 4, 5, 6, 7])
      ([2, 3, 4, 7], [5, 6])
      """
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]
      part1 = []
      part2 = lst[:]
      j = half_sum
      for i in range(n, 0, -1):
          if dp[i][j] != dp[i - 1][j]:
              part1.append(lst[i - 1])
              part2.remove(lst[i - 1])
              j -= lst[i - 1]
      return part1, part2