#include <bits/stdc++.h>
using namespace std;
long long N, M;
long long l, r;
pair<long long, long long> p[100000];
long long bit[100002];
void add(long long i, long long a) {
  i++;
  while (i <= M + 1) {
    bit[i] += a;
    i += (i & -i);
  }
}
long long sum(long long i) {
  long long res = 0;
  i++;
  while (i > 0) {
    res += bit[i];
    i -= (i & -i);
  }
  return res;
}
int main() {
  cin >> N >> M;
  for (long long i = 0; i < N; i++) {
    cin >> l >> r;
    p[i] = pair<long long, long long>(l, r - l + 1);
  }
  sort(p, p + N,
       [](pair<long long, long long> a, pair<long long, long long> b) {
         return a.second < b.second;
       });
  long long now = 0;
  for (long long d = 1; d <= M; d++) {
    long long ans = 0;
    while (now < N && p[now].second <= d) {
      add(p[now].first, 1);
      add(p[now].first + p[now].second, -1);
      now++;
    }
    for (long long i = 0; i <= M; i += d) ans += sum(i);
    cout << ans + N - now << endl;
  }
}
