#include <stdio.h>
//常规采用冒泡排序法,采用冒泡排序的时候就顺手将去重做了,变为0移到最后去
int main() {
int cmp_swap(int *a,int *b);
int N = 1000;
int data[1000]={0};
scanf("%d\n",&N);
for (int i=0; i<N; i++)
{
scanf("%d",&data[i]);
}
int flg = 0;
int idx=0;
for ( int i=0; i<N-1; i++)
{
flg = 0;
for ( int j=0; j<N-1-i; j++)
{
flg += cmp_swap(&data[j],&data[j+1]);
}
if ( flg==0)
{
break;
}
}
for (int i=0; i<N; i++)
{
if(data[i]!=0)
{
printf("%d\n",data[i]);
}
}
return 0;
}
int cmp_swap(int *a,int *b)
{
int outValue = 0;
int tmp;
if ((*a==0)||(*a)>(*b))
{
tmp = *a;
*a = *b;
*b = tmp;
outValue = 1;
}
else if(*a==*b)
{
*b=0;
outValue = 1;
}
else
{
outValue = 0;
}
return outValue;
}