const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
while(line = await readline()){
let count = Number(line)
let res = [], used = new Array(count).fill(false), record = []
const dfs = () => {
if(record.length === Number(count)) {
res.push(Array.from(record))
return
}
for(let i = 1; i <= count; i++) {
if(!used[i]) {
used[i] = true
record.push(i)
dfs(record)
record.pop()
used[i] = false
}
}
}
dfs()
res.forEach(item => {
console.log(item.join(" "))
})
}
}()