Hacker`s Crackdown
Miracle Corporations имеет ряд системных служб, работающих в распределенной компьютерной системе, которая является основной целью для хакеров. Система состоит из N компьютерных узлов, и на каждом узле работает одинаковый набор из N служб. Хакер может вывести из строя службу, запустив специализированный эксплойт для этой службы на всех узлах.
Однажды умный хакер собирает необходимые эксплойты для всех этих N служб и запускает атаку на систему. Он обнаруживает уязвимость, которая позволяет ему запустить один эксплойт на каждом компьютере. Эти эксплойты обладают свойством, что они успешно заражают как компьютер, на котором они были изначально запущены, так и все соседние компьютеры этого узла.
Имея описание сети, определите максимальное количество служб, которые хакер может повредить.
Входные данные
Во входном файле содержится несколько тестовых случаев. Каждый тестовый случай начинается с целого числа N (1 ≤ N ≤ 16), представляющего количество узлов в сети. Узлы пронумерованы от 0 до N-1. Каждая из следующих N строк описывает соседей узла. Строка i (0 ≤ i < N) представляет описание узла i. Описание узла i начинается с целого числа m (количество соседей узла i), за которым следуют m целых чисел в диапазоне от 0 до N-1, каждое из которых обозначает соседний узел узла i.
Конец ввода обозначается случаем с N = 0. Этот случай не должен обрабатываться.
Выходные данные
Для каждого тестового случая выведите строку в формате "Case X: Y", где X — номер случая, а Y — максимальное возможное количество служб, которые могут быть повреждены.