#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, i, t, piles = 1;
  bool flag = true;
  cin >> n;
  vector<int> s1, s2;
  vector<int>::iterator it;
  for (i = 0; i < n; i++) {
    cin >> t;
    s1.push_back(t);
  }
  sort(s1.begin(), s1.end());
  while (flag) {
    flag = false;
    for (it = s1.begin(), i = 0; it != s1.end();) {
      if ((*it) < i) {
        flag = true;
        s2.push_back(*it);
        s1.erase(it);
      } else {
        it++;
        i++;
      }
    }
    if (flag) {
      piles += 1;
      s1.clear();
      s1 = s2;
      s2.clear();
    }
  }
  cout << piles;
  return 0;
}
