#include <bits/stdc++.h>
using namespace std;
int arr[105];
bool compare(int x, int y) { return x > y; }
bool ok(int x, int n) {
  int y = 0;
  int rem[105] = {0};
  int i;
  for (i = 0; i < n; ++i) {
    if (i > x - 1) {
      rem[y] = min(rem[y] - 1, arr[i]);
      if (rem[y] < 0) {
        return false;
      }
      y = (y + 1) % x;
      continue;
    }
    rem[y] = arr[i];
    y = (y + 1) % x;
  }
  return true;
}
int ans(int n) {
  int s = 1;
  int e = n;
  int m;
  while (s < e) {
    m = s + (e - s) / 2;
    if (ok(m, n)) {
      e = m;
    } else
      s = m + 1;
  }
  return s;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i <= (int)n - 1; i++) {
    scanf("%d", &arr[i]);
  }
  sort(arr, arr + n, compare);
  printf("%d\n", ans(n));
}
