1. 将原数组 A 排序;
  2. 在排序后的数组中寻找长度为 M 的子段;
  3. 对每个子段,计算它的不和谐度;
  4. 所以只需找连续 M 个平方值中最大 - 最小最小的。
N, M = map(int, input().split())
A = list(map(int, input().split()))
A.sort()

min_L = float('inf')
for i in range(N - M + 1):
    l = A[i]
    r = A[i + M - 1]
    L = r*r - l*l
    if L < min_L:
        min_L = L

print(min_L)