/*
#include<iostream>
using namespace std;
int main(){
int n,i,j;
cin>>n;
int a[100];
for(i=1;i<=n;i++){
cin>>a[i];
}
for(i=2;i<=n;i++){
if(a[i]<a[i-1]){
a[0]=a[i];
for(j=i-1;a[j]>a[0];j--){
a[j+1]=a[j];
}
a[j+1]=a[0];
}
}
for(int i=1;i<=n;i++){
cout<<a[i]<<' ';
}
cout<<endl;
return 0;
}
*/
#include<bits/stdc++.h>
using namespace std;
struct node{
int len;
int a[100];
};
void insertsort(node &l){
int j;
for(int i=2;i<=l.len;i++){
if(l.a[i]<l.a[i-1]){
l.a[0]=l.a[i];
for(j=i-1;l.a[j]>l.a[0];j--){
l.a[j+1]=l.a[j];
}
l.a[j+1]=l.a[0];
}
}
}
int main(){
node l;
int n;
cin>>n;
l.len=n;
for(int i=1;i<=n;i++){
cin>>l.a[i];
}
insertsort(l);
for(int i=1;i<=n;i++){
cout<<l.a[i]<<' ';
}
puts("");
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int a[105];
int main(){
int l,r,temp;
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=2;i<=n;i++){
//if(a[i]>a[i-1]){
temp=a[i];
l=1,r=i-1;
while(l<=r){
int mid=(l+r)/2;
if(a[mid]>temp) r=mid-1;
else l=mid+1;
}
//}
for(int j=i;j>=l+1;j--)
a[j]=a[j-1];
a[l]=temp;
}
for(int i=1;i<=n;i++) cout<<a[i]<<' ';
puts("");
return 0;
}