#define MD 998244353
int@n,@q,k[n]{};
string@s;
rep(q){
	int@t,@l--,@r;
	if(t==1){
		while(l<r){
			if(k[l]){
				int x=k[l];
				k[l]>?=r;
				l=x;
			}else{
				k[l]=r;
				l+=1;
			}
		}
	}else{
		Mint f,g;
		while(l<r){
			if(k[l]){
				l=k[l];
			}else{
				if(s[l]=='0'){
					f+=g;
				}else{
					g+=f+1;
				}
				l+=1;
			}
		}
		wt(f+g);
	}
}