#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int change(int a[],int x,int y) { int t=0; t=a[x]; a[x]=a[y]; a[y]=t; } int Permu(int a[],int n) { int fac=1,x=0,y=0; for(int j=n;j>0;j--) fac=fac*j; while(fac--) { for(int i=0;i<n;i++) printf("%d",a[i]); printf("\n"); for(int i=n-1;i>=0;i--) { if(a[i-1]<a[i]) { x=i-1; break; } } for(int j=n-1;j>x;j--) { if(a[j]>a[x]) { y=j; break; } } change(a,x,y); sort(a+x+1,a+n); } } int main() { int n,a[20]; scanf("%d",&n); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) a[i-1]=i; Permu(a,n); }