#include <bits/stdc++.h>
using namespace std;
// hmmmm
int main() {
int n, k;
cin >> n >> k;
int d = 1;
for (int x : {12, 6, 4, 3, 2, 1}) {
if (12 / x + k >= n) {
d = x;
break;
}
}
int m = 12 / d + k;
vector<vector<int>> s(m);
int c = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < d; j++) {
s[i].push_back(c % 12);
c++;
}
}
vector<vector<int>> combs;
vector<int> cur;
function<void(int, int)> gen = [&](int start, int left) {
if (left == 0) {
combs.push_back(cur);
return;
}
for (int i = start; i < m; i++) {
cur.push_back(i);
gen(i + 1, left - 1);
cur.pop_back();
}
};
gen(0, k);
for (int i = 0; i < min(n, (int)combs.size()); i++) {
vector<int> a;
vector<bool> skip(m, false);
for (int idx : combs[i]) {
skip[idx] = true;
}
for (int j = 0; j < m; j++) {
if (skip[j]) continue;
for (int x : s[j]) {
a.push_back(x);
}
}
if ((int)a.size() > 12) a.resize(12);
for (int j = 0; j < 12; j++) {
cout << a[j] << " \n"[j == 11];
}
}
return 0;
}