#include<iostream>
#include <stdio.h>
using namespace std;
typedef int MyType ;
int n ;
void quanpailie (MyType *, int pos);
int main (){
MyType a[100];
while (true){
scanf("%d",&n);
for ( int i = 0 ; i < n ; i ++)
scanf("%d",&a[i]);
quanpailie(a , 0);
}
return 0;
}
void quanpailie (MyType *a , int pos){
if (pos == n-1){
for( int j = 0 ; j < n ; j ++)
cout<<a[j];
cout<<endl;
return ;
}
for (int i = pos ; i < n ; i ++){
swap(a[pos],a[i]);
quanpailie(a,pos+1);
swap(a[pos],a[i]);
}
}
#include <stdio.h>
using namespace std;
typedef int MyType ;
int n ;
void quanpailie (MyType *, int pos);
int main (){
MyType a[100];
while (true){
scanf("%d",&n);
for ( int i = 0 ; i < n ; i ++)
scanf("%d",&a[i]);
quanpailie(a , 0);
}
return 0;
}
void quanpailie (MyType *a , int pos){
if (pos == n-1){
for( int j = 0 ; j < n ; j ++)
cout<<a[j];
cout<<endl;
return ;
}
for (int i = pos ; i < n ; i ++){
swap(a[pos],a[i]);
quanpailie(a,pos+1);
swap(a[pos],a[i]);
}
}