#include #include using namespace std; using namespace atcoder; using ll = long long; using mint = modint998244353; int main() { ios::sync_with_stdio(false); cin.tie(0); ll N, M, K; cin >> N >> M >> K; if(M == 1) { cout << (1 << N) << "\n"; return 0; } vector> dp(M + 1, vector(1 << N, 0)); dp[0].back() = 1; for(ll i = 0; i < M; i++) { for(ll j = 0; j < 1 << N; j++) { for(ll k = 0; k < 1 << N; k++) { unsigned b = j & k; if(popcount(b) >= K) { dp[i + 1][k] += dp[i][j]; } } } } cout << accumulate(dp[M].begin(), dp[M].end(), mint(0)).val() << "\n"; }