N,K=(int(x) for x in input().split()) A=list(map(int, input().split())) A=sorted(A) mod=998244353 bunbo=1 num=0 for i in A: if i >= K: bunbo *= i bunbo %= mod num += 1 bunshi = K**(num) - (K-1)**(num) bunshi = pow(K,num,mod) - pow(K-1,num,mod) if bunshi < 0: bunshi += mod def extended_gcd(a, b): if b == 0: return a, 1, 0 g, x, y = extended_gcd(b, a % b) return g, y, x - (a // b) * y def solve(N, S, K): a = K b = N c = (-S) % N g, x, y = extended_gcd(a, b) if c % g != 0: return -1 x0 = (x * (c // g)) % (N // g) return x0 ans = solve(mod, bunshi, -bunbo) print(ans)