宋荣子搭积木

题目描述

saruka 非常喜欢搭积木,他一共有 $n$ 块积木。而且 saruka 的积木很特殊,只能一块块的竖着摞,可以摞很多列。说过 saruka 的是特殊的积木了,这些积木都非常智能,第 $i$ 块积木有一个情绪值 $x_i$ ,当摞在这块积木上的积木总数超过 $x_i$ 时,这块积木就会很不高兴,发誓以后不会再和 saruka 一起玩耍了。saruka 这么爱玩积木,肯定不会让积木不高兴的,但是 saruka 又希望每块积木都被用上,并且摞的积木列数最少。你能来帮帮 saruka 吗?

输入输出格式

输入格式


第一行一个整数 $n$,含义如题目描述所示, 第二行有 $n$ 个数 $x_i$,含义如题目描述所示。

输出格式


输出一个数字,代表最小的积木列数。

输入输出样例

输入样例 #1

3
0 0 3

输出样例 #1

2

输入样例 #2

4
0 0 0 0

输出样例 #2

4

说明

对于 $100 \%$ 的数据,$1 \le n \le 5000$,$0 \le x_i \le n$。