#include <bits/stdc++.h>
using namespace std;
int cnt[200010];
long long num[200010];
struct P {
  int x, y, fl;
  bool operator<(const P &hs) const {
    if (x != hs.x)
      return x < hs.x;
    else
      return y < hs.y;
  }
} p[200010];
int row[200010];
int pre[200010];
int n, k;
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 0; i < n; i++) {
    scanf("%d %d", &p[i].x, &p[i].y);
    p[i].fl = 1;
    p[i + n].x = p[i].x + k;
    p[i + n].y = p[i].y;
    p[i + n].fl = -1;
    row[i] = p[i].y;
    row[i + n] = row[i] + k;
  }
  sort(row, row + 2 * n);
  int ro = 0;
  for (int i = 1; i < 2 * n; i++)
    if (row[i] != row[ro]) row[++ro] = row[i];
  sort(p, p + 2 * n);
  for (int i = 0; i < 2 * n; i++) {
    int y = lower_bound(row, row + ro, p[i].y) - row;
    for (int j = y; row[j] < row[y] + k; j++) {
      if (cnt[j] > 0)
        num[cnt[j]] += (long long)(row[j + 1] - row[j]) * (p[i].x - pre[j]);
      cnt[j] += p[i].fl;
      pre[j] = p[i].x;
    }
  }
  for (int i = 1; i <= n; i++) printf("%I64d%c", num[i], i == n ? '\n' : ' ');
  return 0;
}
