#include <bits/stdc++.h>
inline int getInt() {
  int s;
  scanf("%d", &s);
  return s;
}
using namespace std;
int ans[100002];
int main() {
  const int n = getInt();
  const int m = getInt();
  for (int i = 0; i < (int)(n); i++) {
    const int l = getInt();
    const int r = getInt();
    const int len = r - l + 1;
    ans[0] += 1;
    ans[len + 1] -= 1;
    const int mn = len + 1;
    int mx = m;
    for (int k = 1;; k++) {
      const int low = max(mn, (l + k - 1) / k);
      const int high = min(mx, r / k);
      if (low > high) break;
      ans[low] += 1;
      ans[high + 1] -= 1;
      mx = low - 1;
    }
  }
  for (int i = 0; i < (int)(m); i++) ans[i + 1] += ans[i];
  for (int i = 0; i < (int)(m); i++) printf("%d\n", ans[i + 1]);
  return 0;
}
