#include <stdio.h>
??
int bubble(int a[],int N){
????int i,j,z;
????z=0;
????for(i=0;i<N;i++){
????????for(j=N-1;j>=i+1;j--){
????????????if(a[j]<a[j-1]){
????????????????????z=a[j-1];
????????????????????a[j-1]=a[j];
????????????????????a[j]=z;
????????????}
????????}
????}
}
??
int select(int b[],int N){
????int i,j,s,z,minj;
????z=0;
????for(i=0;i<N-1;i++){
????????minj=i;
????????for(j=i;j<N;j++){
????????????if(b[j]<b[minj]){
????????????????minj=j;
????????????}
????????}
????????z=b[i];
????????b[i]=b[minj];
????????b[minj]=z;
????}
}
??
int isStable(int a[],int b[],int N){
????int i;
????for(i=0;i<N;i++){
????????if(a[i]!=b[i]){
????????????return false;
????????}
????return true;
}
??
int main(void)
{
????int i,N,a[100],b[100];
????scanf("%d",&N);
??????
????for(i=0;i<N;i++){
????????scanf("%d",&a[i]);
????????scanf("%d",&b[i]);
????????b[i]=a[i]
????}
????bubble(a[],N);
????select(b[],N);
??
????for(i=0;i<N;i++){
????????if(i>0){
????????????printf(" ");
????????}
????????printf("%d",a[i]);
????}
????printf("%d\n");
??????
????for(i=0;i<N;i++){
????????if(i>0){
????????????printf(" ");
????????}
????????printf("%d",b[i]);
????}
????printf("%d\n");
??
????if(isStable(a[],b[],N)){
????????printf("Stable\n");
????}
????else{
????????printf("Not stable\n");
????}
????return 0;
}