La facultatea
de informatica, datorita numarului mare de cursuri optionale oferite studentilor,
planificarea examenelor este dificila.
Cursurile sunt numerotate de la 1
la n si fiecare student trebuie
sa îsi aleaga exact doua cursuri optionale.
Toate examenele trebuie sa fie planificate dimineata, de la 9.00 la 12.00.
Evident, un student nu poate sa participe la doua examene în acelasi timp.
Planificarea examenelor trebuie sa fie facuta astfel încât toti
studentii sa poata sustine examenele.
Cerinta
Scrieti un program care
sa determine numarul minim de zile necesare pentru ca toti studentii sa poata
sustine examenele la cursurile optionale.
Date de intrare
Fisierul de intrare exam.in
contine pe prima linie doua numere naturale separate prin spatiu n
si m, unde n
reprezinta numarul de cursuri optionale, iar m
reprezinta numarul de studenti. Pe urmatoarele m
linii sunt scrise optiunile celor m
studenti. Mai exact, pe linia i+1
sunt scrise doua numere distincte cuprinse între 1
si n, reprezentând cursurile
pentru care a optat studentul i.
Date de iesire
Fisierul de iesire exam.out
va contine o singura linie pe care va fi scris determine numarul minim de zile
necesare pentru ca toti studentii sa poata sustine examenele la cursurile optionale.
Restrictii si precizari
2 <= n <= 1000
1 <= m <= 5000
Exemplu
exam.in
exam.out
Explicatie
4
5
1 2
2 3
3 4
1 4
2 4
3
In prima zi se pot
sustine examene la cursurile 1
si 3.
In a doua zi se poate sustine examen la cursul 2.
In a treia zi se poate sustine exam la cursul 4.