#include #define ll long long using namespace std; const int N=1000010; const ll p=998244353; ll fac[N],inv[N]; ll power(ll x,ll y){ ll res=1; for(;y;y>>=1){ if(y&1) res=res*x%p; x=x*x%p; } return res; } ll C(ll x,ll y){ if(x=0;i--) inv[i]=inv[i+1]*(i+1)%p; } ll n,B; ll l=0,r=0,res=1,inv2; ll ans[N]; struct node{ ll x,y,id; }q[N]; bool cmp(node x,node y){ if(x.x/B==y.x/B) return x.y>n; B=450;inv2=power(2,p-2); for(int i=1;i<=n;i++) cin>>q[i].x>>q[i].y,q[i].id=i; sort(q+1,q+n+1,cmp); for(int i=1;i<=n;i++){ ll X=q[i].y-1,Y=q[i].x-1; while(l>X) res=(res-C(r,l--)+p)%p; // cout<Y) res=(res+C(--r,l))*inv2%p; // cout<