Grupowanie kontaktów

Transkrypt

Grupowanie kontaktów
Grupowanie kontaktów
Jaś ostatnio zaczął słuchać pięknej muzyki - techno.
Jak to często bywa, kto lubi techno, lubi także technoparty, dlatego Jasio ma bardzo dużo
znajomych.
Jasio chcąc się z kimś skontaktować bardzo długo musi szukać w swoim telefonie danej osoby,
a jak to się mówi - czas to pieniądz.
Jako, że jesteś dobrym znajomym Jasia oraz świetnym programistą, zdecydowałeś mu pomóc.
Twoim zadaniem będzie pobranie listy kontaktów z Jasia telefonu i uporządkowania ją w grupy.
Przy każdym kontakcie Jasio ma zapisane z czego ta osoba słynie - innymi słowami, do jakich
grup należy.
Jedną osobę możesz przydzielić tylko do jednej grupy. Każda osoba musi być w jakiejś grupie.
Na życzenie Jasia, rozmiar największej grupy ma być jak najmniejszy.
Input
Liczba testów jest nieokreślona. Będzie ich około 20.
Każdy test zaczyna się od 2 liczb, N<=1000 oraz M<=500, długość listy kontaktów oraz ilość
grup.
Następnie będzie podane N wierszy.
Nazwa znajomego, liczba grup X do której należy dana osoba, X liczb.
Liczba N=0 i M=0 kończą testy.
Output
Jedna liczba dla każdego testu - najmniejsza możliwa liczba największej grupy.
Example
Input:
32
Jasio 2 0 1
Stasio 1 1
Marysia 1 1
54
Bardzo 3 1 2 3
Lubie 2 0 1
Jesc 3 0 2 3
Jagodowe 2 1 2
Bulki 2 0 2
00
Output:
2
2