#include<stdio.h>constint maxn =100010, INF =1E9;int n, a[maxn], hashTable[maxn]={0}, res[maxn];intmain(){int min = INF, max =-INF;scanf("%d",&n);for(int i =0; i < n; i++){scanf("%d",&a[i]);if(a[i]>= max){
max = a[i];
hashTable[i]++;//左边的数都不大于a[i],它可能是pivot}}for(int i = n -1; i >=0; i--){if(a[i]<= min){
min = a[i];
hashTable[i]++;}}int m =0;for(int i =0; i < n; i++){if(hashTable[i]==2) res[m++]= a[i];}printf("%d\n", m);for(int i =0; i < m; i++){if(i)printf(" ");printf("%d", res[i]);}printf("\n");return0;}