MOD = 998244353 def main(): import sys input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]); ptr +=1 M = int(input[ptr]); ptr +=1 k = int(input[ptr]); ptr +=1 Cs = list(map(int, input[ptr:ptr+k])) ptr +=k # Compute S target = 2 * N dp = [0] * (target + 6) # x can be up to target-1 +6 = target+5 dp[0] = 1 S = 0 for x in range(target): if dp[x] == 0: continue for d in range(1,7): nx = x + d if nx >= target: S = (S + dp[x]) % MOD else: dp[nx] = (dp[nx] + dp[x]) % MOD # Process each query for c in Cs: r = c % N # Compute A(r) dp_avoid = [0] * (target + 6) dp_avoid[0] = 1 A = 0 for x in range(target): if x % N == r: continue if dp_avoid[x] == 0: continue for d in range(1,7): nx = x + d if nx >= target: A = (A + dp_avoid[x]) % MOD else: if nx % N != r: dp_avoid[nx] = (dp_avoid[nx] + dp_avoid[x]) % MOD ans = (S - A) % MOD print(ans) if __name__ == '__main__': main()