//冒泡排序
#include<iostream>
#include<cstdio>
using namespace std;
const int N = 500;
int a[N];
void swap(int &a , int &b){
int temp = a;
a = b;
b = temp;
}
void BubbleSort(int a[],int len){
for(int i=0;i<len-1;i++){
bool flag = true;
for(int j=0;j<len-1-i;j++){
if(a[j]>a[j+1]){
swap(a[j],a[j+1]);
flag = false;
}
for(int k=0;k<len;k++)
printf("%d ",a[k]);
printf("\n");
}
if( flag ) return;
}
}
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&a[i]);
BubbleSort(a,n);
for(int i=0;i<n;i++) printf("%d ",a[i]);
return 0;
}