#include<bits/stdc++.h>
using namespace std;
#define rep(x,y,z) for(int x=(y);x<(z);x++)
#define mst(x,y) memset(x,y,sizeof(x))
#define se second
#define fi first
const int maxn=1e5+10;
int a[maxn],b[maxn],f[maxn],n;
pair<int,int> p[maxn];
int bit[maxn<<1];
vector<int> ans;
int sum(int x){
int ret=0;
for(;x>0;ret+=bit[x],x-=x&-x);
return ret;
}
void add(int x,int y){
for(;x<maxn;bit[x]+=y,x+=x&-x);
return ;
}
int main(){
ios::sync_with_stdio(false);
while(cin>>n){
ans.clear();
mst(bit,0);
rep(i,0,n){
cin>>p[i].first;
p[i].second=i;
}
sort(p,p+n);
rep(i,0,n){
b[p[i].se]=i+1;
f[i+1]=p[i].fi;
}
rep(i,0,n){
if(sum(b[i])==i&&i+1==b[i]) ans.push_back(f[b[i]]);
add(b[i],1);
}
sort(ans.begin(),ans.end());
cout<<ans.size()<<"\n";
rep(i,0,ans.size()){
if(i!=0) cout<<" ";
cout<<ans[i];
}
cout<<"\n";
}
system("pause");
return 0;
}