#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
const int S = 350;
int sum[maxn], _sum[maxn];
vector<int> ins[maxn];
int ans[maxn], n, m;
void add(int l, int r) {
  int sl = l / S, sr = r / S;
  for (int j = sl + 1; j < sr; j++) _sum[j]++;
  if (sl != sr) {
    for (int j = l; j < sl * S + S; j++) sum[j]++;
    for (int j = sr * S; j < r; j++) sum[j]++;
  } else
    for (int j = l; j <= r; j++) sum[j]++;
}
int main() {
  scanf("%d %d", &m, &n);
  for (int l, r, i = 1; i <= m; i++)
    scanf("%d %d", &l, &r), ins[r - l + 1].push_back(l), ans[r - l + 1]++;
  for (int i = n; i >= 1; i--) ans[i] += ans[i + 1];
  for (int i = 1; i <= n; i++) {
    for (int j = i; j <= n; j += i) ans[i] += sum[j] + _sum[j / S];
    for (unsigned j = 0; j < ins[i].size(); j++)
      add(ins[i][j], ins[i][j] + i - 1);
  }
  for (int i = 1; i <= n; i++) printf("%d\n", ans[i]);
  return 0;
}
