#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

int main(){
	int N, M;
	while(cin >> N >> M){
		int thr = (int)sqrt(M);
		vector<int> l(N), r(N);
		for(int i=0;i<N;i++) cin >> l[i] >> r[i];
		for(int d=1;d<=thr;d++){
			int res = 0;
			for(int i=0;i<N;i++){
				if((l[i]+d-1)/d <= r[i]/d) ++res;
			}
			cout << res << endl;
		}
		vector<int> m(200001, 0);
		for(int i=0;i<N;i++){
			int checked = 200000;
			for(int c=1;c<=thr;c++){
				int left = (l[i]+c-1)/c;
				int right = min(r[i]/c, checked-1);
				m[left]++;
				m[right+1]--;
				checked = left;
			}
		}
		for(int i=0;i<200000;i++) m[i+1] += m[i];
		for(int d=thr+1;d<=M;d++){
			cout << m[d] << endl;
		}
	}
}

