#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 55;
long long n,k,m;
string s;
long long prefix[MaxN];
void backtrack(long long pos)
{
if(pos==n+1)
{
for (long long i=1; i<s.size(); i++)
{
cout << s[i] ;
}
cout << "\n";
return;
}
for (long long i=0; i<=((prefix[max(0ll,pos-1)]-prefix[max(0ll,pos-1-(m-1))])<k); i++)
{
s[pos*2-1]=i+'0';
s[pos*2+1]=' ';
if(i==0)
{
prefix[pos]=prefix[max(0ll,pos-1)];
backtrack(pos+1);
}
else
{
prefix[pos]=prefix[max(0ll,pos-1)]+1;
backtrack(pos+1);
}
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> k >> m;
for (long long i=1; i<=2*n; i++)
{
s += ' ';
}
backtrack(1);
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSA1NTsKbG9uZyBsb25nIG4sayxtOwpzdHJpbmcgczsKbG9uZyBsb25nIHByZWZpeFtNYXhOXTsKdm9pZCBiYWNrdHJhY2sobG9uZyBsb25nIHBvcykKewogICAgaWYocG9zPT1uKzEpCiAgICB7CiAgICAgICAgZm9yIChsb25nIGxvbmcgaT0xOyBpPHMuc2l6ZSgpOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8IHNbaV0gOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgZm9yIChsb25nIGxvbmcgaT0wOyBpPD0oKHByZWZpeFttYXgoMGxsLHBvcy0xKV0tcHJlZml4W21heCgwbGwscG9zLTEtKG0tMSkpXSk8ayk7IGkrKykKICAgIHsKICAgICAgICBzW3BvcyoyLTFdPWkrJzAnOwogICAgICAgIHNbcG9zKjIrMV09JyAnOwogICAgICAgIGlmKGk9PTApCiAgICAgICAgewogICAgICAgICAgICBwcmVmaXhbcG9zXT1wcmVmaXhbbWF4KDBsbCxwb3MtMSldOwogICAgICAgICAgICBiYWNrdHJhY2socG9zKzEpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBwcmVmaXhbcG9zXT1wcmVmaXhbbWF4KDBsbCxwb3MtMSldKzE7CiAgICAgICAgICAgIGJhY2t0cmFjayhwb3MrMSk7CiAgICAgICAgfQogICAgfQp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjaW4gPj4gbiA+PiBrID4+IG07CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PTIqbjsgaSsrKQogICAgewogICAgICAgIHMgKz0gJyAnOwogICAgfQogICAgYmFja3RyYWNrKDEpOwp9Cg==