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(" "))
        })
    }
}()