#include <bits/stdc++.h>
using namespace std;
const long long INF = 100000000000000001;
int l[300001] = {};
int r[300001] = {};
int x[100001] = {};
int n, m;
int addx(int k) {
  int s = l[k];
  while (s <= m) {
    x[s]++;
    s += s & -s;
  }
  s = r[k] + 1;
  while (s <= m) {
    x[s]--;
    s += s & -s;
  }
  return 0;
}
int sumx(int s) {
  int r = 0;
  while (s > 0) {
    r += x[s];
    s -= s & -s;
  }
  return r;
}
int main() {
  cin >> n >> m;
  bool d[300001] = {};
  for (int i = 1; i < n + 1; ++i) cin >> l[i] >> r[i];
  for (int i = 1; i < m + 1; ++i) {
    int t = 0;
    for (int j = 1; j < n + 1; ++j) {
      if (r[j] - l[j] + 1 >= i) {
        t++;
      } else {
        if (!d[j]) {
          d[j] = true;
          addx(j);
        }
      }
    }
    for (int j = 1; (i * j) <= m; ++j) t += sumx(i * j);
    cout << t << endl;
  }
  return 0;
}
