#include <iostream>
#include <algorithm>
using namespace std;

int a[500005], b[500005];

int main() {
	int n, cnt = 0;
	cin >> n;
	for(int i = 1; i <= n; i++) cin >> a[i];
	sort(a + 1, a + n + 1);
	for(int i = 1; i <= n; i++) {
		
		int l = 1, r = cnt, maxn = 0;
		while(l <= r) {
			int mid = (l + r) / 2;
			if(b[mid] <= a[i]) {
				maxn = max(maxn, mid);
				r = mid - 1;
			}
			else l = mid + 1;
		}

		if(maxn == 0) b[++cnt] = 1;
		else b[maxn]++;
	}
	cout << cnt << endl;
	return 0;
}