Tocmai ai primit un şir de numere naturale nenule distincte. Plecând de la acest şir, te-ai gândit să construieşti un şir de numere naturale distincte, astfel încât un număr este în şirul dacă şi numai dacă exista iniţial în şirul sau se pot alege cel puţin două numere din şirul astfel încât este cel mai mare divizor comun al acelor numere.
De exemplu, dacă atunci .
Uimit de proprietăţile matematice frumoase ale noului şir , ai uitat din păcate şirul original de la care ai pornit.
Cerință
Dându-se şirul , să se găsească un şir posibil iniţial având un număr minim de elemente.
Date de intrare
Fişierul de intrare comun.in
conţine pe prima linie un număr natural . Pe cea de-a doua linie se află numere naturale nenule distincte, în ordine strict crescătoare, reprezentând şirul .
Date de ieșire
Fişierul de ieşire comun.out
va conţine pe prima linie numărul minim de elemente ale şirului . Pe cea de-a doua linie se vor afla numere naturale distincte, în ordine strict crescătoare, reprezentând şirul propriu-zis.
Restricții și precizări
- Toate valorile din fişierul de intrare sunt numere naturale nenule mai mici sau egale cu .
- Pentru teste în valoare de 15 puncte, toate valorile din fişierul de intrare sunt mai mici sau egale cu .
- Pentru teste în valoare de 50 de puncte, toate valorile din fişierul de intrare sunt mai mici sau egale cu .
- Se garantează că există măcar o soluţie.
- Dacă există mai multe şiruri iniţiale cu număr minim de elemente, oricare este acceptat.
Exemplul 1
comun.in
5
1 2 4 6 7
comun.out
3
4 6 7
Explicație
Se poate demonstra că orice alt şir cu proprietatea cerută are măcar elemente.
Exemplul 2
comun.in
4
2 4 8 16
comun.out
4
2 4 8 16
Explicație
Nu există niciun şir de mai puţin de elemente cu proprietatea cerută.