#include <bits/stdc++.h>
using namespace std;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
inline bool valid(int x, int w) { return 0 <= x && x < w; }
void iostream_init() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.setf(ios::fixed);
  cout.precision(12);
}
int main() {
  iostream_init();
  int N, M;
  while (cin >> N >> M) {
    vector<pair<int, int>> ps(N);
    for (int i = 0; i < (int)(N); ++i) cin >> ps[i].first >> ps[i].second;
    sort(ps.begin(), ps.end());
    for (int d = 1; d <= M; d++) {
      int idx = 0;
      int cnt = 0;
      for (int x = 0; x <= M; x += d) {
        while (idx < ps.size() && ps[idx].first <= x) {
          if (x <= ps[idx].second) {
            cnt++;
          }
          idx++;
        }
      }
      cout << cnt << endl;
    }
  }
  return 0;
}
