#include<bits/stdc++.h>
using namespace std;
#define int long long
pair<int,int>li[400005];
int n,m,k,x,y,z;
int lis[400005][26],p;
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>li[i].first>>li[i].second;
if(li[i].second<li[i].first)li[i].second+=m;
}
int cnt=n;
sort(li+1,li+n+1);
for(int i=1;i<=n;i++){
cnt++;
li[i+n].first=li[i].first+m;
li[i+n].second=li[i].second+m;
}
p=1;
for(int i=1;i<=2*n;i++){
while(li[p].first<=li[i].second&&p<=2*n)p++;
lis[i][0]=p-1;
p--;
}
for(int i=1;i<=24;i++){
for(int j=1;j<=2*n;j++){
if(lis[j][i-1])lis[j][i]=lis[lis[j][i-1]][i-1];
}
}
int ans=0;
for(int i=1;i<=n;i++){
int x=i;
ans=1ll;
int end=li[i].first+m;
for(int j=24;j>=0;j--){
if(lis[x][j]&&li[lis[x][j]].second-li[i].first<m){
x=lis[x][j];
ans+=(1<<j);
}
}
cout<<(ans+1ll)<<" ";
}
}
```cpp