#768. 集合分割

集合分割

说明


如果 $T$ 是一个整数集合,令 $MIN$ 为 $T$ 中最小的元素,$MAX$ 为 $T$ 中最大的元素,定义 $cost(T)=(MAX-MIN)^2$。

现在有一个集合 $S$,我们要找到 $M$ 个 $S$ 的子集 $S_1,S_2,S_3 \cdots S_m$,使得 $S_1\cup S_2\cup S_3 \cdots S_m=S$,同时,使得 $\sum_{i=1}^mcost(S_i)$ 最小。

输入格式


输入第一行两个整数 $n(1 \le n \le 2000)$,$m(1 \le m \le min(n, 1000))$。

接下里一行输入 $n$ 个 $10^6$ 以内的整数。

输出格式

输出答案。

样例

4 2
4 7 10 1
18