Fetiţele din grupa mare de la grădiniţă culeg flori şi vor să împletească coroniţe pentru festivitatea de premiere. În grădină sunt mai multe tipuri de flori. Fiecare dintre cele fetiţe culege un buchet având acelaşi număr de flori, însă nu neapărat de acelaşi tip. Pentru a împleti coroniţele fetiţele se împart în grupe. O fetiţă se poate ataşa unui grup numai dacă are cel puţin o floare de acelaşi tip cu cel puţin o altă fetiţă din grupul respectiv.
Cerinţă
Fiind dat un număr natural reprezentând numărul fetiţelor şi numărul natural reprezentând numărul de flori dintr-un buchet, să se determine grupele care se formează.
Date de intrare
Fişierul de intrare flori.in
conţine pe prima linie, separate printr-un spaţiu, numerele naturale şi , reprezentând numărul de fetiţe şi respectiv numărul de flori din fiecare buchet. Fiecare dintre următoarele linii conţine, pentru fiecare fetiţă, câte valori separate prin câte un spaţiu reprezentând tipurile de flori culese.
Date de ieşire
Fişierul de ieşire flori.out
va conţine pe fiecare linie câte o grupă formată din numerele de ordine ale fetiţelor separate prin câte un spaţiu, în ordine crescătoare, ca în exemplu.
Restricţii şi precizări
- Tipul unei flori este un număr întreg din intervalul .
- Într-o grupă numerele de ordine ale fetiţelor trebuie date în ordine strict crescătoare.
- În fişierul de ieşire grupele vor fi afişate în ordinea crescătoare a numărului de ordine al primei fetiţe din grupă.
Exemplu
flori.in
5 4
1 2 3 4
5 6 9 6
1 1 1 1
2 4 4 3
7 7 7 7
flori.out
1 3 4
2
5
Explicație
Fetiţele şi au cules amândouă flori de tipul , iar fetiţele şi au cules amândouă flori de tipurile , şi , deci toate cele trei fetiţe (, , ) se vor afla în aceeaşi grupă. Fetiţele şi vor forma fiecare câte o grupă deoarece nu au cules flori de acelaşi tip cu nici una dintre celelalte fetiţe.