#include <bits/stdc++.h>
using namespace std;
const int MAX = 100 + 10;
const int inf = 0x3f3f3f3f;
int num[MAX], use[MAX];
int main() {
  int n, ans, ret;
  while (scanf("%d", &n) > 0) {
    ans = 0;
    int tot = 0;
    for (int i = 0; i < n; i++) scanf("%d", &num[i]);
    sort(num, num + n);
    memset(use, 0, sizeof(use));
    while (tot != n) {
      int i;
      for (i = 0; i < n; i++)
        if (!use[i]) {
          use[i] = 1;
          ans++;
          tot++;
          break;
        }
      ret = 1;
      for (int j = i + 1; j < n; j++) {
        if (!use[j] && num[j] >= ret && num[j] > 0) {
          tot++;
          use[j] = 1;
          ret++;
        }
      }
    }
    printf("%d\n", ans);
  }
  return 0;
}
