import sys MOD = 998244353 def main(): 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])) result = [] for i in range(N - M + 1): window = A[i:i+M] dp = [0] * K dp[0] = 1 # Initialize with empty subsequence for num in window: new_dp = [v for v in dp] for j in range(K): new_j = (j + num) % K new_dp[new_j] = (new_dp[new_j] + dp[j]) % MOD dp = new_dp res = (dp[0] - 1) % MOD # subtract empty subsequence result.append(res) print('\n'.join(map(str, result))) if __name__ == '__main__': main()