#include <bits/stdc++.h>
using namespace std;
#define MAX 3000
#define INF INT_MAX
int n, k, a[MAX], dp[MAX];
int main()
{
int i,j;
while (scanf("%d %d",&n,&k)!=EOF)
{
for(int i = 1; i <= n; i++)
scanf("%d", a+i);
sort(a+1, a+n+1);
memset(dp, 0, sizeof dp);
dp[0] = INF;
for(i = 1; i <= k; i++)
{
for(j = 1; j <= n+2-2*k; j++)
{
dp[j] = min(dp[j-1], dp[j]+(a[2*i-2+j]-a[2*i+j-1])*(a[2*i-2+j]-a[2*i+j-1]));
}
}
cout << dp[n+2-2*k] << endl;
}
return 0;
}