#include<bits/stdc++.h>
using namespace std;
int main(){
int num;
cin >> num;
int numm[num];
int stop[num];
int ccc = 0;
for(int i = 0 ; i < num ; i++){
cin >> numm[i];
for(int c = 0 ; c < i ;c++){
if(numm[i] == numm[c]){
numm[i] = 0;
}
}
if(numm[i-1] != 0){
ccc += 1;
}
}
//for(int a = 0; a< num;a++){
// cout << numm[a] << endl;
//}
cout << ccc+1<< endl;
//return 0 ;
for(int sequence = 0; sequence < num ; sequence++){
for(int k = 0;k<sequence;++k){
if(numm[k] > numm[k+1]){
int temp;
temp = numm[k];
numm[k] = numm[k+1];
numm[k+1] = temp;
}
}
//min(numm[sequence],num[sequence+1])
}
// for(int a = 0; a< num;a++){
//
// cout << numm[a] << endl;
// }
// return 0 ;
for(int a = 0; a < num/*ccc*/; a++){
if(numm[a] != 0){
cout << numm[a]<< " ";
}
}
return 0 ;
}
/*
//for(int i=0;i<9;++i)//只需要冒泡9个数最后一个就已经有序了
for(int j=0;j<9-i;++j)//j的取值需<10-i-1;为何-1,
//下面的下标含有j+1,所以要-1防止下标越界,此外,根本原因是因为,2个数比较,第一次开始比较时候,所有数只需比较N-1次。
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}%
*/
//23333333