20251127
//#include <stdio.h>
//
//int al, bl;
//char A[101]={}, B[101]={};
//int aj[101]={}, bj[101]={}, c[101]={};
//int at=0, bt=0;
//void apush(int ag)
//{
// at+=1;
// aj[at]=ag;
// return;
//}
//int apop()
//{
// at-=1;
// return aj[at+1];
//}
//void bpush(int bg)
//{
// bt+=1;
// bj[bt]=bg;
// return;
//}
//int bpop()
//{
// bt-=1;
// return bj[bt+1];
//}
//void ak()
//{
// for(int i=0; A[i]!=0; i++)
// {
// apush(A[i]-'0');
// }
// for(int i=0; B[i]!=0; i++)
// {
// bpush(B[i]-'0');
// }
// return;
//}
//void bk()
//{
// for(int i=0; A[i]!=0; i++)
// {
// bpush(A[i]-'0');
// }
// for(int i=0; B[i]!=0; i++)
// {
// apush(B[i]-'0');
// }
// int k=bl;
// bl=al;
// al=k;
// return;
//}
//int min(int a, int b, int i)
//{
// if(a>=b)
// {
// return a-b;
// }
// int j=at-1;
// while(j>=0 && aj[j]==0)
// {
// aj[j]=9;
// j-=1;
// }
// aj[j]--;
//
// return a - b + 10;
//}
//
//int main()
//{
// int a=0 , b=0, k=0;
// scanf("%s", A);
// scanf("%s", B);
// for(int i=0; A[i]!=0; i++) //al(a의 길이) 측정
// {
// al=i+1;
// }
// for(int i=0; B[i]!=0; i++) //bl(b의 길이) 측정
// {
// bl=i+1;
// }
// if(al>bl) //a, b 크기 비교 여기부터
// {
// ak();
// }
// else if(al<bl)//a, b 크기 비교
// {
// bk();
// }
// else//a, b 크기 비교
// {
// for(int i=al-1; i>=0; i--)//a, b 크기 비교
// {
// if(A[i]>B[i])
// k=1;
// else if(A[i]<B[i])
// k=2;
// else if(i==0)
// k=1;
// }
// if(k==1)
// {
// ak();
// }
// else
// {
// bk();
// }
// }//a, b 크기 비교 여기까지
//
// for(int i=0; i<bl; i++) //a, b 뺄셈해서 c에 입력
// {
// a=apop();
// b=bpop();
// c[i]=min(a, b, i);
// }
// for(int i=bl; i<al; i++)
// {
// c[i]=aj[i];
// }
// int l=al-1;
// while(l>=0 && c[l]==0)
// l--;
// if(l<0)
// printf("0");
// else
// for(int i=l; i>=0; i--)
// printf("%d", c[i]);
//
//}
//
//#include <stdio.h>
//#include <string.h>
//char A[102]={}, B[102]={}; //크기 비교전 임시 값
//int a[102]={}, b[102]={}; // 크기비교이후 넣은 값
//int al, bl, ap, bp, U=0;
//int F[102]={}; // 최종
//int t=-1;
//void ak()
//{
// for(int i=0; A[i]!=0; i++)
// {
// a[i]=A[i]-'0';
// }
// for(int i=0; B[i]!=0; i++)
// {
// b[i]=B[i]-'0';
// }
// return;
//}
//void bk()
//{
// U=1;
// int j=al;
// al=bl;
// bl=j;
// for(int i=0; A[i]!=0; i++)
// {
// b[i]=A[i]-'0';
// }
// for(int i=0; B[i]!=0; i++)
// {
// a[i]=B[i]-'0';
// }
// return;
//}
//void push(int x)
//{
// t+=1;
// F[t]=x;
// return;
//}
//int pop()
//{
// t-=1;
// return F[t+1];
//}
//int popa()
//{
// if(al==0)
// return 0;
// al-=1;
// return a[al];
//}
//int popb()
//{
// if(bl==0)
// return 0;
// bl-=1;
// return b[bl];
//}
//int main()
//{
// int k, g=0;
// scanf("%s", A);
// scanf("%s", B);
// al = strlen(A);
// bl = strlen(B);
// if(al>bl) //a, b 크기 비교 여기부터
// {
// ak();
// }
// else if(al<bl)//a, b 크기 비교
// {
// bk();
// }
// else//a, b 크기 비교
// {
// for(int i=al-1; i>=0; i--)//a, b 크기 비교
// {
// if(A[i]>B[i])
// {
// k=1;
// break;
// }
//
// else if(A[i]<B[i])
// {
// k=2;
// break;
// }
//
// else if(i==0)
// k=1;
// }
// if(k==1)
// {
// ak();
// }
// else
// {
// bk();
// }
// }//a, b 크기 비교 여기까지
// int h=al;
// while(al!=0 || bl!=0)
// {
// ap=popa();
// bp=popb();
// k=ap-bp-g;
// g=-(k+10)/10+1;
// k = (k+10)%10;
// push(k);
// }
// int l=h-1;
// while(l>=0 && F[l]==0)
// l--;
// if(l<0)
// printf("0");
// else
// for(int i=l; i>=0; i--)
// {
// if(i==l && U==1)
// printf("%d", -F[i]);
// else
// printf("%d", F[i]);
// }
//
// return 0;
//}
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp, m, k; // n은 길이, temp=바꿀때 임시저장 값
int main()
{
scanf("%d", &n);
for (i=1; i<=n; i++)
scanf("%d", &a[i]);
k=1;
for(i=1; i<n; i++)
{
m=0;
for(j=0; j<n-i+1; j++)
{
if (a[j] < a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
m=1;
}
}
if(m==0)
{
k=i-1;
break;
}
}
printf("%d", k);
return 0;
}
*/
#include <stdio.h>
int a[10001];
int n, i, j, temp, key;
int main() {
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=2; i<=n; i++)
{
key=a[i];
for(int k=i-1; k>-1 && a[j+1]<a[j]; i--)
{
a[j+1]=a[j];
}
a[j+1]=key;
}
for (i=1; i<=n; i++)
printf("%d\n", a[i]);
return 0;
}




