#include <bits/stdc++.h>
#define MOD 1000000007
#define Tran_Hoan_Thien ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
#define fi first
#define se second
#define pb push_back
#define vi vector<int>
#define ll long long
#define vll vector<ll>
#define db double
using namespace std;
int main(){
freopen("CAU3.INP ","r",stdin);
freopen("CAU3.OUT","w",stdout);
Tran_Hoan_Thien;
int n;cin>>n;
vector<int> a(n);
for(int &x:a) cin>>x;
sort(a.begin(),a.end(),greater<int> ());
int dem=1;
int k=a[0];
for(int i=1;i<n;i++){
if(k<=0) break;
dem++;
k=min(k-1,a[i]);
}
cout<<dem;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBUcmFuX0hvYW5fVGhpZW4gaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpOyBjb3V0LnRpZShOVUxMKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgdmkgdmVjdG9yPGludD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSB2bGwgdmVjdG9yPGxsPgojZGVmaW5lIGRiIGRvdWJsZQp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpewogICAgZnJlb3BlbigiQ0FVMy5JTlAgIiwiciIsc3RkaW4pOwogICAgZnJlb3BlbigiQ0FVMy5PVVQiLCJ3IixzdGRvdXQpOwogICAgVHJhbl9Ib2FuX1RoaWVuOwogICAgaW50IG47Y2luPj5uOwogICAgdmVjdG9yPGludD4gYShuKTsKICAgIGZvcihpbnQgJng6YSkgY2luPj54OwogICAgc29ydChhLmJlZ2luKCksYS5lbmQoKSxncmVhdGVyPGludD4gKCkpOwogICAgaW50IGRlbT0xOwogICAgaW50IGs9YVswXTsKICAgIGZvcihpbnQgaT0xO2k8bjtpKyspewogICAgICAgIGlmKGs8PTApIGJyZWFrOwogICAgICAgIGRlbSsrOwogICAgICAgIGs9bWluKGstMSxhW2ldKTsKICAgIH0KICAgIGNvdXQ8PGRlbTsKICAgIHJldHVybiAwOyAgCn0K