#include #include using namespace std; using namespace atcoder; typedef modint998244353 mint; typedef long long ll; typedef vector S; int k; S op(S a, S b){ S c = convolution(a, b); S ret(k); for (int i=0; i> n >> m >> k; vector a(n); vector> b(n, vector(k)); for (int i=0; i> a[i]; b[i][0] += 1; b[i][a[i] % k] += 1; } segtree seg(b); for (int i=0; i