#include<stdio.h>
//int make_sign[10];//标记数组,如:make_sign[1]=0表示 1这个数字没有走过
int number[10];//用来存 数字 number[3]=1;表示输出的第三个数是1
int n,r;//n:一共有几个数,相当于每次走有几个路径可以选择
void combination(int m ,int n)//从m个数里选 n个数
{
int i;
if(n == 0)
{
for(i = r; i >= 1; i --)
printf("%d",number[i]);
printf("\n");
}
else
{
for(i = m; i >= n; i --)//如从比较大的5个数里选3个数,以从5选 3为例,那么范围就是 5~3,即5>=3;
{
number[n] = i;
combination(i - 1, n -1);
}
}
}
int main ()
{
number[0] = 0;
scanf("%d%d",&n,&r);
combination(n, r);
return 0;
}