#include <bits/stdc++.h>
using namespace std;

struct node{int l,r,len;}a[300010];
int n,m,t[100010];

bool cmp(node x,node y){return x.len<y.len;}

void modify(int x,int k){for (; x<=m; t[x]+=k,x+=x&-x);}
int ask(int x){int s=0;  for (; x; s+=t[x],x-=x&-x);  return s;}

void work()
{
	scanf("%d %d",&n,&m);
	for (int i=1; i<=n; i++)
		scanf("%d %d",&a[i].l,&a[i].r),a[i].len=a[i].r-a[i].l+1;
	sort(a+1,a+n+1,cmp);
	for (int i=1,j=1,ans; i<=m; i++)
		{
			while ((j<=n)&&(a[j].len<i))  modify(a[j].l,1),modify(a[j].r+1,-1),j++;
			ans=n-j+1;
			for (int k=i; k<=m; k+=i)  ans+=ask(k);
			printf("%d\n",ans);
		}
}

int main()
{
	work();
	return 0;
}
