#include <bits/stdc++.h>
using namespace std;
const int maxn = 110, mod = 1e9 + 7;
const long long inf = 1e18;
long long a[maxn];
int b[maxn];
long long ans1, ans2, ans3;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int tot = 2; tot <= 2 * m; tot++) {
    int pos = max(1, tot - m), pos2 = 0, pos3 = 0, mxp = -1,
        lim = (tot + 1) / 2, cnt = 0;
    for (int j = 0; j < n; j++) {
      b[j] = a[j] % tot;
    }
    for (int j = 0; j < n; j++) {
      cnt += (b[j] >= lim);
      if (b[j] >= lim)
        pos = max(pos, tot - b[j]);
      else
        pos = max(pos, b[j] + 1);
      if (mxp == -1 || b[mxp] < b[j]) mxp = j;
    }
    for (int j = 0; j < n; j++) {
      if (j != mxp) pos2 = max(pos2, (b[j] / 2) + 1);
      pos3 = max(pos3, (b[j] / 2) + 1);
    }
    if (cnt & 1)
      ans2 += max(0, tot - 2 * max(pos, pos2) + 1);
    else
      ans3 += max(0, tot - 2 * max(pos, pos3) + 1);
  }
  ans1 = (1ll * m * m - ans2 - ans3) >> 1;
  return cout << ans1 << " " << ans1 << " " << ans2 << " " << ans3 << endl, 0;
}
