#include using namespace std; #define int long long inline int read(){ int x=0,f=1;char c=getchar(); while(c>57||c<48){if(c==45)f=-1;c=getchar();} while(c<=57&&c>=48){x=(x<<1)+(x<<3)+(c^48);c=getchar();} return x*f; } const int N=2e5+2,P=998244353; inline int fast(int d,int z){ int res=1; while(z){if(z&1)res=(res*d)%P;d=(d*d)%P;z>>=1;}return res; } int jc[N],invj[N]; inline void init(){ jc[0]=jc[1]=invj[1]=invj[0]=1; for(int i=2;i<=200000;++i)jc[i]=(jc[i-1]*i)%P, invj[i]=fast(jc[i],P-2); } inline int AA(int n,int m){ if(na[i].m){ res=(res-CC(LN,LM)+P)%P;--LM; } while(LNa[i].n){ --LN; res=(res+CC(LN,LM)%P)%P; res*=fast(2,P-2);res%=P; } Ans[a[i].id]=res; } for(int i=1;i<=Q;++i){ int ans=Ans[i]*(fast(2,NN[i])-1)%P; printf("%lld\n",(ans+P)%P); } return 0; }