#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,n,t,x,max,lmax,a[1010],b[1010];
while(scanf("%d",&n)==1)
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
b[n]=1;lmax=0;
for(i=n-1;i>=1;i--)
{
max=0;
for(j=i+1;j<=n;j++)
if(a[i]<=a[j]&&b[j]>max)
max=b[j];
b[i]=max+1;
if(b[i]>lmax)lmax=b[i];
}
printf("%d\n",lmax);
x=lmax;
for(i=1;i<=n;i++)
if(b[i]==x)
{
printf("%d ",a[i]);x--;
}
}
return 0;
}
#include<stdlib.h>
int main()
{
int i,j,n,t,x,max,lmax,a[1010],b[1010];
while(scanf("%d",&n)==1)
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
b[n]=1;lmax=0;
for(i=n-1;i>=1;i--)
{
max=0;
for(j=i+1;j<=n;j++)
if(a[i]<=a[j]&&b[j]>max)
max=b[j];
b[i]=max+1;
if(b[i]>lmax)lmax=b[i];
}
printf("%d\n",lmax);
x=lmax;
for(i=1;i<=n;i++)
if(b[i]==x)
{
printf("%d ",a[i]);x--;
}
}
return 0;
}