#include <bits/stdc++.h>
using namespace std;
set<int> add[100005], erase[100005], cnt[100005];
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int i = 0; i < (n); i++) {
    int l, r;
    scanf("%d%d", &l, &r);
    add[l].insert(i);
    erase[r + 1].insert(i);
  }
  set<int> s;
  for (int i = 1; i <= m; i++) {
    for (int a : add[i]) s.insert(a);
    for (int b : erase[i]) s.erase(b);
    for (int j = 1; j * j <= i; j++) {
      if (i % j == 0) {
        for (int a : s) {
          cnt[j].insert(a);
          if (j != i / j) cnt[i / j].insert(a);
        }
      }
    }
  }
  for (int i = 1; i <= m; i++) {
    printf("%d\n", cnt[i].size());
  }
}
