#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  long long n, m;
  cin >> n >> m;
  vector<long long> ls(n), rs(n);
  for (int i = 0; i < n; ++i) {
    cin >> ls[i] >> rs[i];
  }
  vector<long long> accum(m + 1);
  for (int i = 0; i < n; ++i) {
    const long long length = rs[i] - ls[i] + 1;
    accum[1] += 1;
    if (length + 1 <= m) {
      accum[length + 1] -= 1;
    }
    long long used = m + 1;
    for (int d = 1; d < m; ++d) {
      const long long lb = max((ls[i] + d - 1) / d, length + 1);
      const long long rb = min(rs[i] / d, used - 1);
      if (lb > rb) {
        break;
      }
      if (rb + 1 <= m) {
        accum[rb + 1] -= 1;
      }
      accum[lb] += 1;
      used = min(used, lb);
    }
  }
  for (int i = 0; i < m; ++i) {
    accum[i + 1] += accum[i];
  }
  for (int i = 0; i < m; ++i) {
    cout << accum[i + 1] << endl;
  }
  return 0;
}
