/*
TASK:number
LANG:C++
*/
#include <iostream>
using namespace std;
int n,k,d,b[1005],i;
bool ifget(int m) 
{
     int j,h,e;
     e=0;
     for (j=k;j<m;j++) {
         for (h=0;h<k;h++)
             if(b[j-h]==b[m-h]) e++;
             if (e==k) return false;
             e=0; }
     return true;
}
bool get(int z)
{
     for (i=0;i<=d;i++) {
         b[z]=i; 
         if (ifget(z)) { b[z]=i; return true; } }
     return false;
}         
int main()
{
    int l;
    cin >> n >> k >> d;
    for (l=0;l<1005;l++)
        b[l]=10;
    b[1]=1;
    for (l=2;l<=k+1;l++) b[l]=0;
    for (l=k+2;l<=n;l++)
       if (get(l)==false) { cout << '0' << '\n'; return 0; }
    for (l=1;l<=n;l++)
        cout << b[l];
    cout << '\n';
    return 0;
}
    
