#include <stdio.h>
#define SIZE 100

int n,
    sol[SIZE],
    used[SIZE];

void perm(int level ) {

       if(level == n + 1) {

           for(int i = 1; i <= n; i++) {

               printf("%d ", sol[i]);
           }

           printf("\n");

       } else {

           for(int i = 1; i <= n; ++i) {

                 if(!used[i]) {

                     sol[level] = i;

                     used[i] = 1;

                     perm(level+1);

                     used[i] = 0;
                 }
           }
       }
}

int main(int argc, char const *argv[]) {

  printf("n=");
  scanf("%d",&n);
  perm(1);

  return 0;
}
