#include<iostream>
#include<cstdio>
using namespace std;
int Ederson(int *m,int *g)
{
int x;
x=*m;
*m=*g;
*g=x;
}
int a[100001];
void qsort(int l,int r)
{
int x,p,q;
x=(r+1)/2;
p=l;
q=r;
while(p<=q)
{
while(a[p]<=x)
{
p++;
}
while(a[q]>=x)
{
q--;
}
if(p<=q)
{
Ederson(&a[p],&a[q]);
}
}
if(p>l)
{
qsort(l,p);
}
if(q<r)
{
qsort(q,r);
}
}
int main()
{
int n,i;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
qsort(1,n);
for(i=1;i<=n;i++)
cout<<a[i]<<' ';
return 0;
}
using namespace std;
int s[10001],n;
void qsort(int l,int r)
{
int i=l,j=r,mid=s[(l+r)/2];
do
{
while (s[i]<mid) i++;
while (s[j]>mid) j--;
if (i<=j) swap(s[i],s[j]),i++,j--;
}while (i<=j);
if (l<j) qsort(l,j);
if (i<r) qsort(i,r);
}
int main()
{
cin>>n;
for (int i=0;i<n;i++) cin>>s[i];
qsort(0,n-1);
for (int i=0;i<n;i++) cout<<s[i]<<" ";
return 0;
}
using namespace std;
int n,s[1001],sum;
int main()
{
cin>>n;
for (int i=0;i<n;i++)
{
cin>>s[i];
}
sort(s,s+n);
sum=unique(s,s+n)-s;
cout<<sum<<endl;
for (int i=0;i<sum;i++)
{
cout<<s[i]<<" ";
}
return 0;
}