zid

Ionel este in clasa I, dar nu-i place sa lucreze la matematica, prefera sa se joace cu cuburi.
Plecand de la pasiunea lui Ionel, tatal sau incearca sa ii propuna tot felul de probleme, pe care Ionel sa le rezolve fara sa-si dea seama ca de fapt face si matematica.
Intr-o zi, Ionel a construit n turnuri formate din h1, h2, ...,si respectiv hn cuburi (fiecare cub avand latura 1).
Tatal sau i-a propus: "Hai sa facem un zid de lungime n! Alege niste turnuri dintre cele n pe care le-ai construit astfel incat rearanjand cuburile din turnurile alese sa poti obtine un zid de lungime n. Zidul trebuie sa fie format din n turnuri de aceeasi inaltime."

Cerinta

Scrieti un program care sa citeasca n, numarul de turnuri, precum si inaltimile turnurilor construite de Ionel si care sa determine ce turnuri ar putea fi alese astfel incat sa obtinem un zid de lungime n.

Date de intrare

Fisierul de intrare zid.in contine contine pe prima linie un numar natural n care reprezinta numarul de turnuri.
Pe cea de a doua linie sunt scrise n numere naturale separate prin cate un spatiu care reprezinta inaltimile celor n turnuri.

Date de iesire

Fisierul de iesire zid.out va contine pe prima linie un numar natural k, care reprezinta numarul de turnuri alese pentru a construi zidul.
Pe cea de a doua linie vor fi scrise k numere naturale separate prin cate un spatiu, reprezentand inaltimile celor k turnuri alese pentru construirea zidului.

Restrictii si precizari

Exemplu
zid.in zid.out Explicatie

5
4 7 4 2 1

3
7 2 1

Se formeaza un zid de lungime n si inaltime 2.

Timp maxim de executie/test: 0.1 secunde

prof. Marinel Serban
Liceul de Informatica "Grigore Moisil" Iasi
Contact:marinel_serban@yahoo.com