/*
TASK:number
LANG:C++
*/
#include<iostream>
#include<vector>
using namespace std;
string a[1024];
int br=1;
bool isin(string s){
     for(int i=0;i<br;i++) if(a[i]==s) return true;
     return false;}
int main(){
    int n,k,d;
    cin >> n >> k >> d;
    string s="1";
    for(int i=1;i<n;i++) s+='0';
    int i=k;
    a[0]=s.substr(0,k);
    int st=1;
    for(int i=0;i<k;i++){st*=d+1;
    if(st>=n-1) break;}
    if (st>=n-1){ 
    while(i<=n){
                int c=s[i]-'0';
                while(isin(s.substr(i-k+1,k)) && c<d){
                                              c++;
                                              s[i]++;}
                if(isin(s.substr(i-k+1,k))){
                while(s[i]-'0'==d && i>k){s[i]='0';br--; i--;}
                if(i==k && s[i]-'0'==d){s="0";break;}
                s[i]++;} else {
                a[br]=s.substr(i-k+1,k);br++;
                i++;}}} else s="0";
    cout << s << endl;
    return 0;
}
