#include <bits/stdc++.h>

const int Mod=1e9+7,N=2010;

int n,m,k,f[2][N],sum[2][N];

void Init() {
	scanf("%d%d%d",&n,&m,&k);
}

void Solve() {
	int now=0,ans=0;
	f[0][0]=1; k--;
	for (int j=0;j<=n;++j) sum[0][j]=1;
	for (int i=1;i<=n+m;++i) {
		now^=1;
		for (int j=0;j<=n;++j) f[now][j]=0;

		for (int j=0;j<=n && j<=k*i;++j) {
			f[now][j]=(sum[now^1][j]+((j-1>=k)?(Mod-sum[now^1][j-k-1]):0))%Mod;
			if (j && (j%k)==(n%k) && k*i-j<=m-1 && ((k-j%k)%k)==((m-1)%k)) 
				ans=(ans+(f[now][j]-f[now^1][j]+Mod)%Mod)%Mod;
		}
		sum[now][0]=f[now][0];
		for (int j=1;j<=n;++j) {
			sum[now][j]=(sum[now][j-1]+f[now][j])%Mod;
		}
	}	
	printf("%d\n",ans);
}

int main() {
	Init();
	Solve();
	return 0;
}