n, m = map(int,input().split()) mod = 998244353 A = list(map(int,input().split())) B = list(map(int,input().split())) def solve(bit): a = [] b = [] for i in range(n): a.append(1 if 1 & (A[i] >> bit) else 0) for i in range(m): b.append(1 if 1 & (B[i] >> bit) else 0) if sum(a) % 2 != sum(b) % 2: return 0 else: time = pow(2, n + m - 1, mod) al = pow(2, n * m, mod) ans = (al * pow(time, mod - 2, mod)) % mod return ans ans = 1 for i in range(20): ans *= solve(i) ans %= mod print(ans)