#include <bits/stdc++.h>
using namespace std;
long long int f(long long int l, long long int p) {
  long long int g = l % p;
  return g * ((l / p) + 1) * ((l / p) + 1) + (p - g) * (l / p) * (l / p);
}
int main() {
  long long int n, k, e = 1000000;
  cin >> n >> k;
  long long int a[n], b[n];
  set<long long int> s;
  for (long long int i = 0; i < n; i++) {
    scanf("%lld", &a[i]);
    b[i] = 1;
    if (a[i] >= b[i] + 1) {
      long long int d = f(a[i], 1) - f(a[i], 2);
      d *= e;
      d += i;
      s.insert(d);
    }
  }
  for (long long int i = 0; i < k - n; i++) {
    set<long long int>::iterator it;
    it = s.end();
    it--;
    long long int g = (*it) % e;
    b[g]++;
    s.erase(it);
    if (a[g] >= b[g] + 1) {
      long long int d = f(a[g], b[g]) - f(a[g], b[g] + 1);
      d *= e;
      d += g;
      s.insert(d);
    }
  }
  long long int ans = 0;
  for (long long int i = 0; i < n; i++) {
    ans += f(a[i], b[i]);
  }
  cout << ans << endl;
}
