//submultimi
#include <iostream>
using namespace std;
int n,st[100];//n max =98
void afis(int pas)
{
int i;
for(i=1;i<=pas;i++)
cout << st[i]<< " ";
cout << endl;
}
int bun(int pas)
{
return st[pas]>st[pas-1];
}
void BKT(int pas)
{
int i;
for (i=1; i<=n; i++)
{
st[pas]=i;
if (bun(pas))
{
afis(pas);
BKT(pas+1);
}
}
}
int main()
{
n=5;
BKT(1);
return 0;
}
Ly9zdWJtdWx0aW1pCiNpbmNsdWRlIDxpb3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbixzdFsxMDBdOy8vbiBtYXggPTk4Cgp2b2lkIGFmaXMoaW50IHBhcykKewogICAgaW50IGk7CiAgICBmb3IoaT0xO2k8PXBhcztpKyspCiAgICAgICAgY291dCA8PCBzdFtpXTw8ICIgIjsKICAgIGNvdXQgPDwgZW5kbDsKfQoKaW50IGJ1bihpbnQgcGFzKQp7CiAgICByZXR1cm4gc3RbcGFzXT5zdFtwYXMtMV07Cn0KCnZvaWQgQktUKGludCBwYXMpCnsKICAgIGludCBpOwogICAgZm9yIChpPTE7IGk8PW47IGkrKykKICAgIHsKICAgICAgICBzdFtwYXNdPWk7CiAgICAgICAgaWYgKGJ1bihwYXMpKQogICAgICAgIHsKICAgICAgICAgICAgYWZpcyhwYXMpOwogICAgICAgICAgICBCS1QocGFzKzEpOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBuPTU7CiAgICBCS1QoMSk7CiAgICByZXR1cm4gMDsKfQo=