#include <bits/stdc++.h>
using namespace std;
const long double PI(acos((long double)-1.0));
struct cpx {
  long double r, i;
  cpx() : r(0), i(0) {}
  cpx(long double a, long double b) : r(a), i(b) {}
  cpx conj() { return cpx(r, -i); }
} u[20], iu[20], a[524288], b[524288];
cpx operator+(const cpx &l, const cpx &r) { return cpx(l.r + r.r, l.i + r.i); }
cpx operator-(const cpx &l, const cpx &r) { return cpx(l.r - r.r, l.i - r.i); }
cpx operator*(const cpx &l, const cpx &r) {
  return cpx(l.r * r.r - l.i * r.i, l.r * r.i + r.r * l.i);
}
void dif(cpx *a, cpx *unt, int l) {
  int lv, i, j;
  cpx u, v, w;
  for (lv = l; lv; --lv)
    for (i = 0; i < 1 << l; i += 1 << lv)
      for (j = i, w = {1, 0}; j < i + (1 << lv - 1); ++j, w = w * unt[lv]) {
        u = a[j];
        v = a[j + (1 << lv - 1)];
        a[j] = u + v;
        a[j + (1 << lv - 1)] = (u - v) * w;
      }
}
void dit(cpx *a, cpx *unt, int l) {
  int lv, i, j;
  cpx u, v, w;
  for (lv = 1; lv <= l; ++lv)
    for (i = 0; i < 1 << l; i += 1 << lv)
      for (j = i, w = {1, 0}; j < i + (1 << lv - 1); ++j, w = w * unt[lv]) {
        u = a[j];
        v = a[j + (1 << lv - 1)] * w;
        a[j] = u + v;
        a[j + (1 << lv - 1)] = u - v;
      }
}
int main() {
  int tn, n, x, i, j, l;
  long long a0;
  scanf("%d%d", &n, &x);
  for (tn = 0, l = -1, a0 = 0, i = 0; i < n; ++i) {
    scanf("%d", &j);
    if (j < x) {
      a0 += (long long)(i - l) * (i - l - 1);
      a[++tn].r = i - l;
      l = i;
    }
  }
  a0 += (long long)(n - l) * (n - l - 1);
  a[++tn].r = n - l;
  for (l = 1; 1 << l < tn; ++l)
    ;
  ++l;
  for (i = 1; i < tn; ++i) b[(1 << l) - i].r = a[i].r;
  for (i = 1; i <= l; ++i)
    iu[i] =
        (u[i] = cpx(cos(2 * PI / (1 << i)), -sin(2 * PI / (1 << i)))).conj();
  dif(a, u, l);
  dif(b, u, l);
  for (i = 0; i < 1 << l; ++i) a[i] = a[i] * b[i];
  dit(a, iu, l);
  long double t((long double)1.0 / (1 << l));
  printf("%lld", a0 / 2);
  for (i = 1; i < tn && i <= n; ++i)
    printf(" %lld", (long long)(a[i].r * t + 0.1));
  for (; i <= n; ++i) printf(" 0");
  printf("\n");
  return 0;
}
