import sys from collections import deque, Counter sys.setrecursionlimit(5 * 10 ** 5) from pypyjit import set_param set_param('max_unroll_recursion=-1') input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 63 - 1 mod = 998244353 n, m, k = mi() A = li() for i in range(n - m + 1): dp = [[0] * k for _ in range(m + 1)] dp[0][0] = 1 a = A[i:i+m] for i in range(m): for v in range(k): dp[i+1][(v+a[i])%k] += dp[i][v] dp[i+1][(v+a[i])%k] %= mod dp[i+1][v] += dp[i][v] dp[i+1][v] %= mod print((dp[m][0]-1) % mod)