#include #include #include #include #define ll long long #define N 200005 #define INF (ll)1e18 #define PII pair #define lowbit(x) x&(-x) using namespace std; inline ll rd(){ ll res=0, f=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();} while(ch>='0'&&ch<='9') res=(res<<3)+(res<<1)+(ch^48), ch=getchar(); return (f>0?res:-res); } ll T, n, m, bl, l, r, res; ll p[N], inv[N], ans[N]; const ll mod=998244353; ll ksm(ll a, ll b){ ll res=1; while(b){ if(b&1) res=res*a%mod; a=a*a%mod; b>>=1; } return res; } ll C(ll n, ll m){ if(n>1)%mod; } void dell(ll x){ res=(res*2%mod-C(x, r)+mod)%mod; } void addr(ll x){ res=(res+C(l, x))%mod; } void delr(ll x){ res=(res-C(l, x)+mod)%mod; } int main(){ T=rd(), bl=sqrt(2e5), p[0]=1; for (int i=1; i<=N-5; i++) p[i]=(p[i-1]*i)%mod; inv[N-5]=ksm(p[N-5], mod-2); for (int i=N-6; i>=0; i--) inv[i]=(inv[i+1]*(i+1))%mod; for(int i=1; i<=T; i++) q[i]={rd()-1, rd()-1, i}; sort(q+1, q+T+1, cmp); l=0, r=0, res=1; for(int i=1; i<=T; i++){ // cout<q[i].l) addl(--l); while(rq[i].r) delr(r--); // cout<