#include <iostream>
#include <algorithm>
#include <cstring>

constexpr int MAX=(int)1e5;

using P=std::pair<int,int>;

int n,m;

int bit[MAX+2];

P sec[MAX*3];

bool used[MAX*3];

void add(int k,int x) {
	for(int i=k;i<=m;i+=(i&-i))
		bit[i]+=x;
}

int sum(int k) {
	int res=0;
	for(int i=k;i>0;i-=(i&-i))
		res+=bit[i];
	return res;
}

int main() {
	std::cin>>n>>m;
	int l,r;
	for(int i=0;i<n;++i){
		std::cin>>l>>r;
		sec[i].first=r-l+1;
		sec[i].second=l;
	}
	std::sort(sec,sec+n);
	int c=0;
	for(int i=1;i<=m;++i) {
		while(c<n&&sec[c].first<i) {
			add(sec[c].second,1);
			add(sec[c].second+sec[c].first,-1);
			++c;
		}
		int ans=n-c;
		for(int j=0;j<=m;j+=i)
			ans+=sum(j);
		std::cout<<ans<<std::endl;
	}
	return 0;
}