#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int num[100010], low[100010], high[100010];
int main()
{
int n;
scanf("%d", &n);
int i;
for(i = 1; i <= n; i++)
{
scanf("%d", &num[i]);
}
low[1] = num[1];
for(i = 2; i <= n; i++)
{
low[i] = num[i];
if(low[i - 1] > low[i])
{
low[i] = low[i - 1];
}
}
high[n] = num[n];
for(i = n - 1; i >= 1; i--)
{
high[i] = num[i];
if(high[i + 1] < high[i])
{
high[i] = high[i + 1];
}
}
vector<int> v;
for(i = 1; i <= n; i++)
{
if(num[i] >= low[i] && num[i] <= high[i])
{
v.push_back(num[i]);
}
}
int size = v.size();
printf("%d\n", size);
if(size > 0)
{
sort(v.begin(), v.end());
for(i = 0; i < size; i++)
{
if(i > 0)
{
printf(" ");
}
printf("%d", v[i]);
}
}
printf("\n");
system("pause");
return 0;
}