using namespace std;
int n;
int main(){
cin>>n;
int a,i,b[n+1],max=0;
bool flag[32767];
for(i=1;i<=32767;i++)
flag[i]=false;
for(i=1;i<=n;i++){
cin>>a;
if(flag[a]==false)flag[a]=true;
if(a>max)max=a;
}
n=0;
for(i=1;i<=max;i++)
if(flag[i])n++;
cout<<n<<endl;
for(i=1;i<=max;i++)
if(flag[i])cout<<i<<' ';
return 0;
}
#include <iostream>
#include<set>
using namespace std;
int main()
{
set<int> s;
int n = 0;
cin>>n;
int t = 0 ;
for(int i=0;i<n;++i){
cin>>t;
s.insert(t);
}
cout<<s.size()<<endl;
for(set<int>::iterator it=s.begin();it!=s.end();++it)
cout<<*it<<" ";
cout<<endl;
return 0;
}
using namespace std;
int a[1010],n,m,k;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&m);
a[m]=1;
}
for(int i=1;i<=1000;i++)if(a[i]>0)k++;
printf("%d\n",k);
for(int i=1;i<=1000;i++)if(a[i]>0)printf("%d ",i);
}
using namespace std;
int a[1010],n,m,k;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&m);
a[m]=1;
}
for(int i=1;i<=1000;i++)if(a[i]>0)k++;
printf("%d\n",k);
for(int i=1;i<=1000;i++)if(a[i]>0)printf("%d ",i);
}