>>62
#include <stdio.h>

#define M 128

static int data[M], tmp[M], m, n;

void comb_r(int data_index, int tmp_index)
{
    int i;

    if(tmp_index == n){
        for(i = 0; i < n; i++) printf("%d ", tmp[i]);
        printf("\n");
        return;
    }

    for(i = data_index; i < m; i++){
        tmp[tmp_index] = data[i];
        hoge_r(i + 1, tmp_index + 1);
    }
}

int main(void)
{
    int i;
    while(m < M && scanf("%d", &data[m]) == 1) // cntl + z等で終了
        m++;
    scanf("%d", &n);
    comb_r(0, 0);
    return 0;
}