import sys readline=sys.stdin.readline H,W,K=map(int,readline().split()) H-=1;W-=1 K//=2 mod=998244353 fact=[1]+[i for i in range(1,H+W+1)] for i in range(1,H+W+1): fact[i]*=fact[i-1] fact[i]%=mod fact_inve=[i for i in range(1,H+W+1)]+[pow(fact[H+W],mod-2,mod)] for i in range(H+W-1,-1,-1): fact_inve[i]*=fact_inve[i+1] fact_inve[i]%=mod N=min(H,W) ans=0 if K<=600: for h in range(N+1): if h: prev=dp dp=[0]*(2*K+1) else: dp=[0]*(2*K+1) dp[K]=1 for w in range(max(h-K,0),min(h+K,N)+1): if h and abs((h-1)-w)<=K: dp[w-h+K]+=prev[w-(h-1)+K] if w and abs(h-(w-1))<=K: dp[w-h+K]+=dp[(w-1)-h+K] dp[w-h+K]%=mod ans+=fact[H+W]*fact_inve[H-h]%mod*fact_inve[W-h]%mod*fact_inve[2*h]%mod*dp[K]%mod ans%=mod else: for cnt in range(N+1): s=fact[2*cnt]*fact_inve[cnt]%mod*fact_inve[cnt]%mod for i in range(1,cnt//(K+1)+1): if i%2: s-=2*fact[2*cnt]*fact_inve[cnt-(K+1)*i]%mod*fact_inve[cnt+(K+1)*i]%mod else: s+=2*fact[2*cnt]*fact_inve[cnt-(K+1)*i]%mod*fact_inve[cnt+(K+1)*i]%mod s%=mod ans+=fact[H+W]*fact_inve[H-cnt]%mod*fact_inve[W-cnt]%mod*fact_inve[2*cnt]%mod*s%mod ans%=mod print(ans)