#include using namespace std; int B,qu[200010],fac[200010],inv[200010],inve[200010],b[200010],pw[200010]; const int P=998244353; struct Node{ int l,r,id; bool operator <(const Node &A) { if(l/B!=A.l/B) return l/Ba[i].r;j--) ans=1LL*(ans+C(j-1,a[i].l))*((P+1)/2)%P; qu[a[i].id]=ans; } // printf("%d\n",b[1]); for(int i=1;i<=q;i++) printf("%lld\n",1LL*qu[i]*(pw[b[i]]-1+P)%P); return 0; }