#include <bits/stdc++.h>
using namespace std;
int n;
int a[101], b[101];
int ans[101];
int main() {
  int i, j;
  while (cin >> n) {
    memset(b, 0, sizeof(b));
    for (i = 0; i < n; i++) cin >> a[i], b[a[i]]++;
    memset(ans, 0, sizeof(ans));
    int now = 0, Max = 0;
    for (i = 0; i <= 100; i++) {
      if (b[i] == 0) continue;
      for (j = 0; j < now; j++) {
        int tmp = i + 1 - ans[j];
        if (b[i] && b[i] >= tmp) {
          b[i] -= tmp;
          ans[j] += tmp;
        } else if (b[i]) {
          ans[j] += b[i];
          b[i] = 0;
        }
        if (b[i] == 0) break;
      }
      if (b[i]) {
        while (1) {
          int tmp = i + 1 - 0;
          if (b[i] && b[i] >= tmp) {
            b[i] -= tmp;
            ans[now++] += tmp;
          } else if (b[i]) {
            ans[now++] = b[i];
            b[i] = 0;
          }
          if (b[i] == 0) break;
          if (now >= 100) break;
        }
      }
    }
    cout << now << endl;
  }
}
