#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define nl "\n"
#define OO 0x3f3f3f3f
using namespace std;
void ta2to2a()
{
ios_base::sync_with_stdio(false), cout.tie(nullptr), cin.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
int n, m;
vector<ll> v;
void sequence(int start)
{
v.push_back(start);
if (v.size() == n)
{
for (auto it : v)
{
cout << it << " ";
}
cout << nl;
return;
}
for (int i = start; i < m; i++)
{
sequence(i + 1);
v.pop_back();
}
}
void solve()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
sequence(i);
v.clear();
}
}
int main()
{
ta2to2a();
int t = 1;
// cin >> t;
while (t--)
{
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBubCAiXG4iCiNkZWZpbmUgT08gMHgzZjNmM2YzZgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCB0YTJ0bzJhKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSksIGNvdXQudGllKG51bGxwdHIpLCBjaW4udGllKG51bGxwdHIpOwojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKfQppbnQgbiwgbTsKdmVjdG9yPGxsPiB2Owp2b2lkIHNlcXVlbmNlKGludCBzdGFydCkKewogICAgdi5wdXNoX2JhY2soc3RhcnQpOwogICAgaWYgKHYuc2l6ZSgpID09IG4pCiAgICB7CiAgICAgICAgZm9yIChhdXRvIGl0IDogdikKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgaXQgPDwgIiAiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IG5sOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGZvciAoaW50IGkgPSBzdGFydDsgaSA8IG07IGkrKykKICAgIHsKICAgICAgICBzZXF1ZW5jZShpICsgMSk7CiAgICAgICAgdi5wb3BfYmFjaygpOwogICAgfQp9CnZvaWQgc29sdmUoKQp7CiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIHNlcXVlbmNlKGkpOwogICAgICAgIHYuY2xlYXIoKTsKICAgIH0KfQppbnQgbWFpbigpCnsKICAgIHRhMnRvMmEoKTsKICAgIGludCB0ID0gMTsKICAgIC8vIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkKICAgIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQp9