#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) #define Inf 1000000001 int n,m; mint get(vector a,vector b){ int t = 0; rep(i,n)t ^= a[i]; rep(i,m)t ^= b[i]; if(t==1)return 0; long long L = n-1; L *= m-1; mint x = mint(2).pow(L); return x; } int main(){ cin>>n>>m; vector a(n),b(m); rep(i,n)cin>>a[i]; rep(i,m)cin>>b[i]; mint ans = 1; rep(i,20){ vector aa(n),bb(m); rep(j,n)aa[j] = (a[j]>>i)&1; rep(j,m)bb[j] = (b[j]>>i)&1; ans *= get(aa,bb); } cout<