n=int(input())
a=list(map(str,input().split()))

ab=a[:]
flg=True
i=0
while flg:
    flg=False
    for j in range(n-1,i,-1):
        if ab[j][1]<ab[j-1][1]:
            ab[j],ab[j-1]=ab[j-1],ab[j]
            flg=True
    i+=1
print(' '.join(map(str,ab)))
print('Stable')

ac=a[:]
for i in range(n):
    minj=i
    for j in range(i,n):
        if ac[j][1]<ac[minj][1]:
            j,minj=minj,j
    if i!=minj:
        ac[i],ac[minj]=ac[minj],ac[i]
print(' '.join(map(str,ac)))

if ab==ac:
    print('Stable')
else:
    print('Not stable') n=int(input()) n int(input()) int input() input a=list(map(str,input().split())) a list(map(str,input().split())) list map(str,input().split()) map str input().split() ().split () input split ab=a[:] ab a[:] a : flg=True flg True i=0 i 0 while flg:
    flg=False
    for j in range(n-1,i,-1):
        if ab[j][1]<ab[j-1][1]:
            ab[j],ab[j-1]=ab[j-1],ab[j]
            flg=True
    i+=1 flg flg=False flg False for j in range(n-1,i,-1):
        if ab[j][1]<ab[j-1][1]:
            ab[j],ab[j-1]=ab[j-1],ab[j]
            flg=True
     j range(n-1,i,-1) range n-1 n 1 i -1 if ab[j][1]<ab[j-1][1]:
            ab[j],ab[j-1]=ab[j-1],ab[j]
            flg=True
     ab[j][1]<ab[j-1][1] ab[j][1] [j] ab j 1 ab[j-1][1] [j-1] ab j-1 j 1 1 ab[j],ab[j-1]=ab[j-1],ab[j] ab[j] ab j ab[j-1] ab j-1 j 1 ab[j-1] ab j-1 j 1 ab[j] ab j flg=True flg True i+=1 i 1 print(' '.join(map(str,ab))) print ' '.join(map(str,ab)) ' '.join ' ' join map(str,ab) map str ab print('Stable') print 'Stable' ac=a[:] ac a[:] a : for i in range(n):
    minj=i
    for j in range(i,n):
        if ac[j][1]<ac[minj][1]:
            j,minj=minj,j
    if i!=minj:
        ac[i],ac[minj]=ac[minj],ac[i] i range(n) range n minj=i minj i for j in range(i,n):
        if ac[j][1]<ac[minj][1]:
            j,minj=minj,j
     j range(i,n) range i n if ac[j][1]<ac[minj][1]:
            j,minj=minj,j
     ac[j][1]<ac[minj][1] ac[j][1] [j] ac j 1 ac[minj][1] [minj] ac minj 1 j,minj=minj,j j minj minj j if i!=minj:
        ac[i],ac[minj]=ac[minj],ac[i] i!=minj i minj ac[i],ac[minj]=ac[minj],ac[i] ac[i] ac i ac[minj] ac minj ac[minj] ac minj ac[i] ac i print(' '.join(map(str,ac))) print ' '.join(map(str,ac)) ' '.join ' ' join map(str,ac) map str ac if ab==ac:
    print('Stable')
else:
    print('Not stable') ab==ac ab ac print('Stable') print 'Stable' print('Not stable') print 'Not stable' ab=a[:] a[:] ab i+=1 1 i minj=minj,j j minj flg=True True flg j,minj=minj,j minj j ac=a[:] a[:] ac flg=True True flg a=list(map(str,input().split())) list(map(str,input().split())) a n=int(input()) int(input()) n i=0 0 i minj=i i minj flg=False False flg
n=int(input())
a=list(map(str,input().split()))

ab=a[:]
flg=True
i=0
while flg:
    flg=False
    for j in range(n-1,i,-1):
        if ab[j][1]<ab[j-1][1]:
            ab[j],ab[j-1]=ab[j-1],ab[j]
            flg=True
    i+=1
print(' '.join(map(str,ab)))
print('Stable')

ac=a[:]
for i in range(n):
    minj=i
    for j in range(i,n):
        if ac[j][1]<ac[minj][1]:
            j,minj=minj,j
    if i!=minj:
        ac[i],ac[minj]=ac[minj],ac[i]
print(' '.join(map(str,ac)))

if ab==ac:
    print('Stable')
else:
    print('Not stable')
