#define MD 998244353 ll@n,@q,c[n+1],p=ll_inf; Mint a[],b[],t[],m,v=Mint(1)/2; t[0]=1; rep(i,1,n+1){ t[i]=t[i-1]*v; } c[0]=ll_inf; rep(i,1,n+1){ ll@x; a[i]=x; if(x<=p){ b[i]=x; c[i]=0; m=1; }else{ b[i]=b[i-1]+x*m; c[i]=c[i-1]+1; m*=2; } p=x; } rep(q){ ll@--l,@r; if(r-l==c[r]-c[l]){ wt((b[r]-b[l])*t[c[l+1]]+a[l+1]*v); }else{ wt(b[r]); } }