/*
TASK:edi
LANG:C++
*/
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
 unsigned long long a=0;
 int b[100000],p,pp,k;
 float sq;
 long n,bb=0;
 cin>>n;
 for (long i=0;i<n;i++)
 {
  cin>>b[bb];
  a+=b[bb];
  bb++;
 }
 sq=sqrt(a);
 p=(int)sq;
 for (int i=p;i>=0;i--)
 {
  k=0;   
  for (int j=0;j<bb;j++)
  if (b[j]>=i) k++;
  if (k>=i)
  { 
   cout<<i;
   break;
  }  
 }    
 return 0;
}      
