#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 i,j,x,y;
              
int main(void)
{
  int i,x,y,N,a[100],b[100];
  scanf("%d",&N);

  for(i=0;i<N;i++){
    scanf("%d",&a[i]);
  }
  for(i=0;i<N;i++){
    scanf("%d",&b[i]);
    b[i]=a[i];
  }
  bubble(a,N);
  for(i=0;i<N;i++){
    if(i>0){
      printf(" ");
    }
    printf("%d",a[i]);
  }
  printf("%d\n");
  printf("Stable\n");

  select(b,N);
  for(i=0;i<N;i++){
    if(i>0){
      printf(" ");
    }
    printf("%d",b[i]);
  }
  printf("%d\n");
  
  for(i=0;i<N-1;i++){
      for(j=i+1;j<N-1;j++){
        for(x=0;x<N-1;x++){
          for(y=x+1;y<N-1;y++){
            if(a[i]==a[j]&&a[i]==b[y]&&b[j]==b{x}){
              printf("Stable\n");
            }
            else{
              printf("Not stable\n");
            }
          }
        }
      }
    }
  }
  return 0;
}