MOD = 998244353 def main(): import sys input = sys.stdin.read data = input().split() N = int(data[0]) M = int(data[1]) K = int(data[2]) A = list(map(int, data[3:3+N])) for k in range(1, N - M + 2): window = A[k-1 : k-1 + M] dp = [0] * K dp[0] = 1 # Include empty subset initially for x in window: new_dp = dp.copy() for r in range(K): s = (r - x) % K new_dp[r] = (new_dp[r] + dp[s]) % MOD dp = new_dp res = (dp[0] - 1) % MOD # Subtract the empty subset print(res) if __name__ == '__main__': main()