#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 1000000000000000001 using A = array,5>; A e(){ A ret; rep(i,5){ rep(j,4){ ret[i][j] = 0; } } return ret; } A op(A a,A b){ if(a==e())return b; if(b==e())return a; A ret = e(); rep(i,4){ rep(j,4){ if(j&i)continue; int k = (i|j); rep(l,5){ rep(m,5){ //cout<>n>>q; vector t(n); string s; cin>>s; rep(i,n){ A temp = e(); temp[0][0] = 1; temp[3][1<<(s[i]-'0')] ++; temp[3][0] ++; t[i] = temp; } /*auto ret = op(t[0],t[1]); rep(i,5){ rep(j,4){ cout< seg(t); rep(_,q){ int x; cin>>x; if(x==1){ int ii; cin>>ii; ii--; s[ii] ^= 1; A temp = e(); temp[0][0] = 1; temp[3][1<<(s[ii]-'0')] ++; temp[3][0] ++; seg.set(ii,temp); } else{ int l,r; cin>>l>>r; l--; auto ret = seg.prod(l,r); mint ans = 0; rep(i,5)ans += ret[i][3]; /*rep(i,5){ rep(j,4){ cout<