#include <bits/stdc++.h>
using namespace std;
int n, k;
int A[100];
long long int t;
int D[100];
int dd = 0;
map<int, int> bs[51];
void thu(int kk) {
  if (kk > n) {
    int c = 0;
    for (int i = 1; i <= n; i++)
      if (D[i]) c++;
    printf("%d", c);
    for (int i = 1; i <= n; i++)
      if (D[i]) printf(" %d", A[i]);
    printf("\n");
    dd++;
  } else {
    if (bs[kk][t + A[kk]] == 0) {
      D[kk] = 1;
      t += A[kk];
      bs[kk][t] = 1;
      thu(kk + 1);
      if (dd >= k) return;
      D[kk] = 0;
      t -= A[kk];
    }
    if (bs[kk][t] == 0) {
      bs[kk][t] = 1;
      thu(kk + 1);
      if (dd >= k) return;
    }
  }
}
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= n; i++) scanf("%d", &A[i]);
  t = 0;
  thu(1);
}
