Посадка травы
Наступило время для фермера Джона сажать траву на всех своих полях. Вся ферма состоит из полей, пронумерованных от до и соединенных двунаправленными дорогами таким образом, что с каждого поля можно достичь любое другое поле используя некоторый набор путей.
Фермер Джон может сажать разные типы травы на каждом поле, однако он хочет свести к минимуму количество используемых видов травы в целом, поскольку чем больше видов травы он использует, тем больше затрат он несет.
К сожалению, его коровы стали относиться к выбору травы на ферме довольно снобистски. Если один и тот же тип травы посажен на двух соседних полях (напрямую соединенных дорогой) или даже на двух почти соседних полях (которые напрямую связаны с общим полем дорогами), то коровы будут жаловаться на отсутствие разнообразия в их питательном рационе. Последнее что нужно фермеру Джону, так это жалобы от коров, учитывая, сколько вреда они, как известно, причиняют, будучи недовольны.
Помогите фермеру Джону определить минимальное количество видов травы, которое ему нужно для всей фермы.
Входные данные
Первая строка содержит число . Каждая из оставшихся строк описывает дорогу и содержит два поля, которые она соединяет.
Выходные данные
Выведите минимальное количество видов травы, которое нужно использовать фермеру Джону.
Примеры
В приведенном примере имеется поля, все они линейно связаны. Требуется как минимум три типа травы. Например, фермер Джон может засеять поля травами типа и следующим образом: .