//P4155
#include<bits/stdc++.h>
using namespace std;
int n,m,dp[400005][20],ans[200005];
struct bing{
int l,r,id;
}a[400005];
int cmp(bing x, bing y)
{
return x.l < y.l;
}
void pre(void){
for(int i=1,p=i;i<=2*n;i++){
while(p<=2*n&&a[p].l <a[i].r )p++;
int sum=p-1;
dp[i][0]=sum;
}
for(int i=1;i<20;i++){
for(int j=1;j<=2*n;j++){
dp[j][i] = dp[dp[j][i - 1]][i - 1];
}
}
}
void find(int k){
int lim=a[k].l +m,sum=1;
int p=k;
for(int i=19;i>=0;i--){
if(dp[k][i]!=0&&a[dp[k][i]].r<lim){
sum+=(1<<i);
k=dp[k][i];
}
}
ans[a[p].id]=sum+1;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i].l >>a[i].r ;
if(a[i].l>a[i].r )a[i].r+=m;
a[i].id =i;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
a[i+n]=a[i];
a[i+n].l=a[i].l +m;
a[i+n].r=a[i].r +m;
}
pre();
for(int i=1;i<=n;i++)find(i);
for(int i=1;i<=n;i++)cout<<ans[i]<<' ';
return 0;
}