#include <iostream>
#include <vector>
using namespace std;
vector<int> path;
int m, n;
void dfs(int i) {
if (path.size() > m || path.size() + n - i < m) {
return;
}
if (i == n) {
for (int i : path) {
cout << i << ' ';
}
cout << endl;
return;
}
path.push_back(i + 1);
dfs(i + 1);
path.pop_back();
dfs(i + 1);
}
int main() {
cin >> n >> m;
dfs(0);
return 0;
}