#include using namespace std; using ll = long long; #define rep(i, n) for(ll i = 0, i##_len = ll(n); i < i##_len; ++i) // 0 から n-1 まで昇順 int main() { int n,m,k; cin >> n >> m >> k; string s; cin >> s; int bmax = 1 << 5; vector dp(m+1, vector(bmax, vector(2, 0))); dp[0][0][0] = 1; rep(i, m) { if (i < n) { rep(b, bmax) { rep(j, s[i] - 'a') { int bn = b | 1 << j; dp[i+1][bn][1] += dp[i][b][0]; dp[i+1][bn][1] %= 998244353; } int bn = b | 1 << (s[i] - 'a'); dp[i+1][bn][0] += dp[i][b][0]; dp[i+1][bn][0] %= 998244353; } } rep(b, bmax) { rep(j, 5) { int bn = b | 1 << j; dp[i+1][bn][1] += dp[i][b][1]; dp[i+1][bn][1] %= 998244353; } } } ll ans = 0; rep(i, m+1) rep(b, bmax) rep(j, 2) { if (i == n && j == 0) continue; if (__popcount(b) >= k) ans += dp[i][b][j]; ans %= 998244353; } cout << ans << endl; }