# include<stdio.h>
# include<string.h>
# include<math.h>
long long mm[2000] = { 0 };
int n;
int m;
int u = 0;
int search(long long q)
{
for (int i = 0; i <= 2000; i++)
{
if (q == mm[i])
return 0;
}
return 1;
}
void find(int i,int count,long long q)
{
if (count == 0)
{
if (search(q)==0)
{
return;
}
else
{
mm[u++] = q;
for (int i = 1; i <= n; i++)
{
int w = pow(2, i - 1);
if ((q & w)!= 0)
{
printf("%3d", i);
}
}
printf("\n");
}
return;
}
for (int j = i + 1; j <= n - count + 2; j++)
{
int p = pow(2, i - 1);
find(j, count - 1, q | p);
}
if (i >= n - count + 1)
return;
else
find(i + 1, count, q);
}
int main()
{
scanf("%d %d", &n, &m);
if(n==m)
{
for(int i=1;i<=n;i++)
{
printf("%3d",i);
}
}
else
find(1, m,0);
return 0;
}