#include <bits/stdc++.h>
using namespace std;

vector<int>sol;
int n,m;
int niz[100000];
bool mat[100000][10000];

void resi(int x)
{
    if(x==n)
    {
        int cnt=0;
        int zbir=0;
        for(int i=0;i<n;++i)
        {
            for(int j=0;j<m;++j)
            {
                if(mat[j][i])++cnt;
            }
            zbir+=(cnt*n-cnt*cnt);
            cnt=0;
        }
        sol.push_back(zbir);

    }
    else
    {
        for(int i=0;i<niz[x];++i)mat[x][i]=1;
        resi(x+1);
        for(int i=0;i<niz[x];++i)mat[x][i]=0;
        for(int i=m-niz[x];i<m;++i)mat[x][i]=1;
        resi(x+1);




    }

}

int main()
{
    cin>>n>>m;
    for(int i=0;i<n;++i)cin>>niz[i];
    resi(0);
    cout<<*min_element(sol.begin(),sol.end())<<endl;
}