Cerința
Pentru ca locuitorii unui oraș să supraviețuiască, acesta trebuie să aibă o rezervă de cel puțin \( 1\text{ km}^{3} \) de apă. Pentru a face față mai ușor unor catastrofe, orașele pot forma alianțe în care se pot împrumuta reciproc cu apă. Astfel, într-o alianță formată din h orașe, fiecare oraș trebuie să aibă o rezervă de cel puțin \( {h}\text{ km}^{3} \) de apă, pentru a supraviețui locuitorii săi și a putea să împrumute câte \( 1\text{ km}^{3} \) de apă fiecăruia dintre celelalte h-1 orașe aliate.
Se cere să determinați cel mai mare număr de orașe h care se pot alia.
Scrieți un program care citește numărul m de orașe și un șir de m numere naturale strict pozitive reprezentând rezervele de apă ale orașelor, să se determine numărul maxim de orașe h care pot forma o alianță, adică există cel puțin h orașe care pot reține fiecare o cantitate de apă cel puțin egală cu \( h\text{ km}^{3} \).
Date de intrare
Programul citește de la tastatură numărul m, iar apoi m numere naturale, separate prin spații, reprezentând rezervele de apă ale orașelor.
Date de ieșire
Programul va afișa pe ecran numărul maxim de orașe care se pot alia.
Restricții și precizări
1 ≤ n ≤ 1.000.000- cele
nnumere citite vor fi mai mici decât1.000.000.000
Exemplu:
Intrare
5 3 1 6 1 5
Ieșire
3