Pe pământul din apropierea localităţii Gheorgheni s-au întâlnit toţi copiii şi doresc organizarea unui joc mai deosebit. Copiii au fost numerotaţi de la la şi ştim care sunt prietenii fiecărui copil.
O echipă este un grup maximal de copii cu proprietatea că oricare ar fi copiii şi din echipă, există un şir de copii astfel încât , , şi oricare ar fi , este prieten cu .
Fiecare echipă va primi un cod, egal cu cel mai mic număr de ordine al unui copil din echipa respectivă.
Dorim să aflăm care sunt copiii vulnerabili, adică acei copii care dacă ar fi eliminaţi ar duce la spargerea echipei sale în două sau mai multe echipe.
Cerinţă
Scrieţi un program care să identifice toate echipele formate conform regulilor de mai sus, precum şi care sunt copiii vulnerabili.
Date de intrare
Fişierul de intrare pamant.in
conţine:
- pe prima linie două numere naturale şi reprezentând numărul de copii şi respectiv numărul relaţiilor de prietenie;
- următoarele linii conţin câte două numere naturale distincte şi , cu semnificaţia că şi sunt numerele de ordine a doi copii în relaţie de prietenie.
Date de ieşire
- Prima linie a fişierului de ieşire
pamant.out
conţine o singură valoare naturală , reprezentând numărul de echipe. - A doua linie conţine numere naturale separate prin câte un spaţiu reprezentând codurile echipelor, în ordine crescătoare.
- A treia linie conţine o valoare naturală reprezentând numărul de copii vulnerabili.
- A patra linie conţine valori naturale, separate prin câte un spaţiu, reprezentând numerele de ordine, scrise în ordine crescătoare, ale copiilor vulnerabili.
Restricţii şi precizări
- Se acordă din punctaj pentru corectitudinea primelor două linii din fişierul de ieşire şi pentru celelalte două linii.
- Relaţiile de prietenie sunt reciproce: dacă este prieten cu , atunci şi este prieten cu .
- Dacă este prieten cu şi este prieten cu nu înseamnă că este prieten cu .
- Pentru din teste .
Exemplu
pamant.in
10 7
1 2
2 8
4 6
3 5
3 10
5 10
5 7
pamant.out
4
1 3 4 9
2
2 5
Explicaţie
Există echipe şi anume:
- prima echipă:
- a doua echipă:
- a treia echipă:
- a patra echipă:
Există doi copii speciali şi anume şi .