#include <bits/stdc++.h>
#define FOR(i, a, b) for(int i = (a), _b = (b); i <= _b; ++i)
#define fi first
#define se second
#define el "\n"
#define pb push_back
#define sz(a) (int)a.size()
#define FILL(a, x) memset(a, x, sizeof(a))
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int N = (int)1e6+3;
int n, k;
int a[100];
bool F[100];
void Xl(){
/// In ra day nhi phan do dai n
FOR(i, 1, n) cout << a[i] << " ";
cout << el;
}
void HV(int i)
{
FOR(j, 1, n)
if (!F[j]){
a[i] = j;
F[j] = 1;
if (i == n) Xl();
else HV(i+1);
F[j] = 0;
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> n;
HV(1);
return 0;
}
CgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBGT1IoaSwgYSwgYikgZm9yKGludCBpID0gKGEpLCBfYiA9IChiKTsgaSA8PSBfYjsgKytpKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgZWwgIlxuIgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHN6KGEpIChpbnQpYS5zaXplKCkKI2RlZmluZSBGSUxMKGEsIHgpIG1lbXNldChhLCB4LCBzaXplb2YoYSkpCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsKY29uc3QgaW50IE4gPSAoaW50KTFlNiszOwppbnQgbiwgazsKaW50IGFbMTAwXTsKYm9vbCBGWzEwMF07Cgp2b2lkIFhsKCl7CiAgIC8vLyBJbiByYSBkYXkgbmhpIHBoYW4gZG8gZGFpIG4KICAgRk9SKGksIDEsIG4pIGNvdXQgPDwgYVtpXSA8PCAiICI7CiAgIGNvdXQgPDwgZWw7Cgp9Cgp2b2lkIEhWKGludCBpKQp7CiAgICAgRk9SKGosIDEsIG4pCiAgICAgIGlmICghRltqXSl7CiAgICAgICAgIGFbaV0gPSBqOwogICAgICAgICBGW2pdID0gMTsKICAgICAgICAgaWYgKGkgPT0gbikgWGwoKTsKICAgICAgICAgZWxzZSBIVihpKzEpOwogICAgICAgICBGW2pdID0gMDsKICAgICAgfQp9CgoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7ICAgIGNvdXQudGllKE5VTEwpOwogICAgY2luID4+IG47CiAgICBIVigxKTsKICAgIHJldHVybiAwOwp9Cg==