MOD = 998244353 N, M = map(int, input().split()) A = list(map(int, input().split())) sum0 = 0 sum1 = 0 for i, a in enumerate(A): if i%2 == 0: sum0 += a sum0 %= M else: sum1 += a sum1 %= M if sum0 != sum1: exit(print(-1)) C = [0, 1] for n in range(2, N+1): C.append(C[-1]*(M-1)%MOD) if n%2 == 0: C[-1] -= 1 C[-1] %= MOD else: C[-1] += 1 C[-1] %= MOD SUM = 0 ans = 1 a, b = (N+1)//2, N//2 for i in range(N): if i%2 == 0: a -= 1 else: b -= 1 if A[i] == 0: continue c, d = C[a], C[b] ans += A[i]*c%MOD*d%MOD*M%MOD ans %= MOD if a%2 == 0: ans += A[i]*d%MOD ans %= MOD else: ans -= A[i]*d%MOD ans %= MOD if b%2 == 0: ans += A[i]*c%MOD ans %= MOD else: ans -= A[i]*c%MOD ans %= MOD if i%2 == 0: l, r = SUM, SUM+A[i]-1 else: l, r = SUM-A[i]+1, SUM l %= M r %= M if l > r: r += M m = (b-a)%M if l <= m <= r or l <= m+M <= r: if (a+b)%2 == 0: ans += 1 ans %= MOD else: ans -= 1 ans %= MOD if i%2 == 0: SUM += A[i] SUM %= M else: SUM -= A[i] SUM %= M print(ans)