#include <cstdio>
FILE *fin = fopen("permutari.in", "r");
FILE *fout = fopen("permutari.out", "w");
int st[19];
int n, m;
void afisare (int t) {
for (int i = 1; i <= t; i++) {
fprintf(fout, "%d", st[i]);
fprintf(fout, " ");
}
fprintf(fout, "\n");
}
bool valid(int k) {
for (int i = 1; i < k; i++)
if (st[k] <= st[i])
return false;
return true;
}
void bkt(int k) {
if (k <= n + 1)
afisare(k);
for (int i = 1; i <= n; i++)
{
st[k] = i;
if (valid(k))
bkt(k + 1);
}
}
int main() {
fscanf(fin, "%d", &n);
bkt(1);
}