//题目好绕口啊!!!E=max{E满足:有E天骑车超过E公里},一定是超过。
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int everyd[100010];
int main(){
int n,E=0,numE=0;
scanf("%d",&n);
int i,temp;
for(i=0;i<n;i++){
scanf("%d",&temp);
everyd[i]=temp;
}
sort(everyd,everyd+n);
do{
E++;
for(i=0;i<n;i++){
if(everyd[i]>E){
break;
}
}
}while((n-i)>=E);
printf("%d\n",--E);
system("pause");
return 0;
}