#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <sstream>
#include <algorithm>

using namespace std;

#define Rep(i,n) for(int i = 0; i < (n); i++ )
typedef long long ll;

int main()
{
	ll N, M = 0;
	vector<ll> ans;
	vector<ll> L;
	vector<ll> R;

	cin >> N >> M;
	L.resize(N);
	R.resize(N);
	ans.resize(M);

	Rep(i, N) {
		cin >> L[i] >> R[i];
	}

	for (ll d = 1; d <= M; ++d ) {
		// in case of d
		Rep(i, N) {
			// buy or not item-i
			ll tmp_l = ceil( (double)L[i] / d );
			ll tmp_r = floor( (double)R[i] / d );
			if (tmp_r >= tmp_l) {
				ans[d - 1]++;
			}
		}
	}

	Rep(i, M) {
		cout << ans[i] << endl;
	}

	return 0;
}
