#include <bits/stdc++.h>
using namespace std;
#define forn(i, n) for(int i = 0; i < int(n); i++)
const int MOD = 998244353;
int add(int a, int b){
a += b;
if (a >= MOD)
a -= MOD;
if (a < 0)
a += MOD;
return a;
}
int mul(int a, int b){
return a * 1ll * b % MOD;
}
int binpow(int a, int b){
int res = 1;
while (b){
if (b & 1)
res = mul(res, a);
a = mul(a, a);
b >>= 1;
}
return res;
}
int main(){
int n, m, k;
scanf("%d%d%d", &n, &m, &k);
vector<int> fact(2 * n + 1), rfact(2 * n + 1);
fact[0] = 1;
for (int i = 1; i <= 2 * n; ++i) fact[i] = mul(fact[i - 1], i);
rfact[2 * n] = binpow(fact[2 * n], MOD - 2);
for (int i = 2 * n - 1; i >= 0; --i) rfact[i] = mul(rfact[i + 1], i + 1);
auto cnk = [&](int n, int k){
if (k < 0 || n < 0 || k > n) return 0;
return mul(fact[n], mul(rfact[k], rfact[n - k]));
};
auto snb = [&](int n, int k){
return cnk(n + k, k);
};
int pw2 = 1;
int ans = 0;
for (int i = m; i >= 0; --i){
int cur = 0;
if (n - (m - i) * 1ll * (k + 1) - i * 1ll * (2 * k + 1) >= 0)
cur = mul(snb(n - (m - i) * (k + 1) - i * (2 * k + 1), m), mul(pw2, cnk(m, i)));
ans = add(ans, i & 1 ? -cur : cur);
pw2 = mul(pw2, 2);
}
printf("%d\n", ans);
}
1374. Generate a String With Characters That Have Odd Counts | 1822. Sign of the Product of an Array |
1464. Maximum Product of Two Elements in an Array | 1323. Maximum 69 Number |
832. Flipping an Image | 1295. Find Numbers with Even Number of Digits |
1704. Determine if String Halves Are Alike | 1732. Find the Highest Altitude |
709. To Lower Case | 1688. Count of Matches in Tournament |
1684. Count the Number of Consistent Strings | 1588. Sum of All Odd Length Subarrays |
1662. Check If Two String Arrays are Equivalent | 1832. Check if the Sentence Is Pangram |
1678. Goal Parser Interpretation | 1389. Create Target Array in the Given Order |
1313. Decompress Run-Length Encoded List | 1281. Subtract the Product and Sum of Digits of an Integer |
1342. Number of Steps to Reduce a Number to Zero | 1528. Shuffle String |
1365. How Many Numbers Are Smaller Than the Current Number | 771. Jewels and Stones |
1512. Number of Good Pairs | 672. Richest Customer Wealth |
1470. Shuffle the Array | 1431. Kids With the Greatest Number of Candies |
1480. Running Sum of 1d Array | 682. Baseball Game |
496. Next Greater Element I | 232. Implement Queue using Stacks |