Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

GRUPOWAN - 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:
3 2
Jasio 2 0 1
Stasio 1 1
Marysia 1 1
5 4
Bardzo 3 1 2 3
Lubie 2 0 1
Jesc 3 0 2 3
Jagodowe 2 1 2
Bulki 2 0 2
0 0
 Output: 2
2

Dodane przez:Krzysztof Lewko
Data dodania:2011-07-28
Limit czasu wykonania programu:0.100s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.