#include using namespace std; const int N=4e5+5,P=998244353; int n,m,k,fac[N],inv[N],ans; void init(){ fac[0]=fac[1]=inv[0]=inv[1]=1; for(int i=2;i=P?x-P:x; } int calc(int x,int y){ return 1ll*C(m,m-x-y>>1)*C(m,m-x+y>>1)%P; } int main(){ scanf("%d%d%d",&n,&m,&k); k>>=1,--n,--m; if(n>m)swap(n,m); m+=n,n=m-n-n; init(); for(int c=1;;++c){ int ln=2*c*(k+1); if(ln+n>m)break; ans=md(ans+(c&1?P-calc(n,ln):calc(n,ln))); } ans=md(2*ans); ans=md(ans+calc(0,n)); printf("%d\n",ans); return 0; }