MOD = 998244353 n, q = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int, input().split())) k = sum(1 for x in a if x == 1) rest = [x - 1 for x in a if x > 1] m = len(rest) # Initialize dp_rest for the rest boxes dp_rest = [0] * (m + 1) dp_rest[0] = 1 for num in rest: for j in range(m, 0, -1): dp_rest[j] = (dp_rest[j] * num + dp_rest[j - 1]) % MOD dp_rest[0] = (dp_rest[0] * num) % MOD # Process each query results = [] for query in b: t = query - k if t < 0 or t > m: results.append(0) else: results.append(dp_rest[t] % MOD) print('\n'.join(map(str, results)))