/*
TASK:number
LANG:C++
*/
#include<iostream>
using namespace std;
int n,k,d,a[20],br=0;
char stack[1500][100];
void print()
{
 for(int i=0;i<n;i++)
 cout<<a[i];
 cout<<endl;    
}
int find(char temp[])
{
    for(int i=0;i<br;i++)
    if(strcmp(stack[i],temp)==0) return 1;
    return 0;
}
int can(int x)
{
    char temp[100];
    if(a[0]==0) return 0;
    if(x+1>=k) 
    {
    for(int i=x+1-k;i<=x+1;i++)
    temp[x+1-i]=a[i]+'0';
    if(find(temp)) return 0;
    else {strcpy(stack[br++],temp);return 1;}
    }
    else return 1;
}
int main()
{
    int i,j;
    cin>>n>>k>>d;
    for(i=0;i<n;i++)
    {
    for(j=0;j<=d;j++)
    {
    a[i]=j;
    if(can(i)) break;
    }
   // if(j==d) {cout<<"0\n";system("pause");exit(0);}
    }
    print();
    //system("pause");
    return 0;
}
