mod=998244353 N,M=map(int,input().split()) A=list(map(int,input().split())) S=0 for i in range(N): if i&1: S-=A[i] else: S+=A[i] if S%M: print(-1) exit() DP=[[0,0] for i in range(N+1)] DP[0][1]=1 for i in range(N): DP[i+1][1]=(DP[i][0]*(M-1))%mod DP[i+1][0]=(DP[i][0]*(M-2)+DP[i][1])%mod ANS=1 C=[N>>1,(N+1)>>1] S=0 P=N for i in range(N): P-=1 if (i^N)&1: S=(S-A[i])%M else: S=(S+A[i])%M C[(i^N)&1]-=1 if C[0]==C[1]: if -S%M