#include <bits/stdc++.h>
using namespace std;
int a[111], n, num[111];
bool check(int s) {
  int p;
  for (int i = 1; i <= s; i++) num[i] = a[i];
  for (int i = s + 1; i <= n; i++) {
    p = 1;
    for (int j = 2; j <= s; j++)
      if (num[j] > num[p]) p = j;
    if (num[p] == 0) return false;
    num[p] = min(num[p] - 1, a[i]);
  }
  return true;
}
bool cmp(int u, int v) { return u > v; }
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  sort(a + 1, a + n + 1, cmp);
  int low, high, mid;
  low = 1;
  high = n;
  while (low + 1 < high) {
    mid = (low + high) / 2;
    if (check(mid))
      high = mid;
    else
      low = mid;
  }
  if (check(low))
    cout << low;
  else
    cout << high;
  return 0;
}
