#include <bits/stdc++.h>
using namespace std;
double PI = 3.14159265359;
long long int MOD = 10e9 + 7;
long long int dataA[100010];
long long int dataB[100010];
class fenwick {
 public:
  void Add(int a, int b, int x, int k, int l, int r) {
    if (a <= l && r <= b) {
      dataA[k] += x;
    } else if (l < b && a < r) {
      dataB[k] += (min(b, r) - max(a, l)) * x;
      Add(a, b, x, k * 2 + 1, l, (l + r) / 2);
      Add(a, b, x, k * 2 + 2, (l + r) / 2, r);
    }
  }
  long long int sum(int a, int b, int k, int l, int r) {
    if (b <= l || r <= a) {
      return 0;
    } else if (a <= l && r <= b) {
      return dataA[k] * (r - l) + dataB[k];
    } else {
      long long int res = (min(b, r) - max(a, l)) * dataA[k];
      res += sum(a, b, k * 2 + 1, l, (l + r) / 2);
      res += sum(a, b, k * 2 + 2, (l + r) / 2, r);
      return res;
    }
  }
};
vector<pair<int, pair<int, int>>> gift;
int main(void) {
  long long int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    int l, r;
    cin >> l >> r;
    gift.push_back(pair<int, pair<int, int>>(r - l + 1, pair<int, int>(l, r)));
  }
  fenwick fwk;
  sort(gift.begin(), gift.end());
  int t = 0;
  for (int i = 1; i <= m; i++) {
    for (; t < n; t++) {
      if (gift[t].first <= i) {
        fwk.Add(gift[t].second.first, gift[t].second.second + 1, 1, 0, 0,
                m + 1);
      } else {
        break;
      }
    }
    long long int res = n - t;
    for (int j = 0; j <= m; j += i) {
      res += fwk.sum(j, j + 1, 0, 0, m + 1);
    }
    cout << res << endl;
  }
}
