#include const int mod = 998244353; int h, w, k, f[400010], ff[400010], ans; int ksm(int a, int b) { int ans = 1; while (b) { if (b & 1) ans = 1ll * ans * a % mod; b >>= 1; a = 1ll * a * a % mod; } return ans; } int C(int x, int y) { return x < y ? 0 : 1ll * f[x] * ff[y] % mod * ff[x - y] % mod; } int calc(int x, int y) { return 1ll * C(w, (w - x - y) / 2) * C(w, (w - x + y) / 2) % mod; } void init() { if (h > w) h ^= w ^= h ^= w; w += h, h = w - h - h; } int main() { scanf("%d %d %d", &h, &w, &k), h--, w--, k >>= 1, f[0] = ff[0] = 1, init(); for (int i = 1; i <= 400005; i++) f[i] = 1ll * i * f[i - 1] % mod, ff[i] = ksm(f[i], mod - 2); for (int i = 1; i * 2 * (k + 1) + h <= w; i++) ans = (ans + (i & 1 ? mod - calc(h, i * 2 * (k + 1)) : calc(h, i * 2 * (k + 1)))) % mod; printf("%d", (ans * 2ll % mod + calc(0, h)) % mod); return 0; }