#include<stdio.h>
int b[10010];
int compactIntegers(int *a,int count)
{
int i,j;
for(i=j=0; i<count; i++)
{
if(a[i]!=0)
{
b[j]=a[i];//把不等于0的元素复制到b[]中
j++;
/* b[j++]=a[i];*/
}
}
return j;
}
int main()
{
int n,t,i,a[10010];
while(scanf("%d",&n)!=EOF)//判断输入是否结束,可以重复输入n
{
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);//输入a[n]
}
t=compactIntegers(a,n);
if(t==0)
{
printf("0\n");
}
else
{
printf("%d\n",t);
printf("%d",b[0]);//第一个数字前面不输出空格
for(i=1; i<t; i++)
{
printf(" %d",b[i]);
}
printf("\n");
}
}
return 0;
}