#include<cstdio>
#include<list>
using namespace std;
list<int> A[501];
int n,k,d,i,j;
void read(),solve(),sum();
int main()
{
	
	read();
	solve();
	return 0;
}
void read()
{
	freopen("expozitie.in","r",stdin);
	freopen("expozitie.out","w",stdout);
	scanf("%d%d%d",&n,&d,&k);
}
void solve()
{
	list<int>::iterator it1;
	n-=d*k;
	if(n<0) 	  { printf("0\n"); return; }
    if(!n||d==1)  { printf("1\n"); return; }
	
	for(i=0;i<=n;i++) A[i].push_back(1);
	for(i=2;i<=d;i++)
		for(j=1;j<=n;j++)			
			sum();
		
	for(;A[n].size();)	{ printf("%d",A[n].back());A[n].pop_back();} printf("\n");
}
void sum()
{
	int r=0;
	list<int>::iterator it1,it2;
	
	while(A[j-1].size()>A[j].size()) A[j].push_back(0);
	while(A[j-1].size()<A[j].size()) A[j-1].push_back(0);
	
	for(it1=A[j].begin(),it2=A[j-1].begin();it1!=A[j].end();it1++,it2++)
	{
		*it1 += r + *it2; r = 0; 
		if(*it1>9)*it1-=10,r=1;
	}
	if(r) A[j].push_back(1);
}
