#include using namespace std; #define int long long int t,n=1,m=0,cnt=1,p=998244353,maxx,l[300005],nl[300005],pw[300005],ans[300005]; int qpow(int x,int y){ int rt=1; while(y){ if(y&1) rt=rt*x%p; x=x*x%p,y>>=1; } return rt; } int getc(int x,int y){ if(x<0 || y<0 || x0;i--) nl[i-1]=nl[i]*i%p; cin>>t; for(int i=1;i<=t;i++) cin>>s[i].n>>s[i].m,s[i].id=i,ans[i]=pw[s[i].n]-1,s[i].n--,s[i].m--; sort(s+1,s+t+1,cmp); for(int i=1;i<=t;i++){ while(ns[i].n) cnt=(cnt+getc(n-1,m))*499122177%p,n--; while(ms[i].m) cnt=(cnt-getc(n,m)+p)%p,m--; ans[s[i].id]=ans[s[i].id]*cnt%p; } for(int i=1;i<=t;i++) cout<