#include using namespace std; using ll=long long; using pii=pair; #define all(a) a.begin(),a.end() #define pb push_back #define sz(a) ((int)a.size()) const int maxn=200005,mod=998244353; int add(int x, int y){x+=y; if(x>=mod) x-=mod; return x;} int sub(int x, int y){x-=y; if(x<0) x+=mod; return x;} int mul(int x, int y){return ((ll)x)*y%mod;} int n,m,k,a[maxn],dp[2][maxn][105]; signed main(){ ios_base::sync_with_stdio(0),cin.tie(0); cin >> n >> m >> k; for(int i=0; i> a[i]; for(int i=0; i=0; --i){ if(i%m==m-1||i==n-1){ dp[1][i][0]=1; dp[1][i][a[i]]=add(dp[1][i][a[i]],1); continue; } int cur=k-a[i]; if(cur==k) cur=0; for(int j=0; j