Посадка трави
Настав час для фермера Джона садити траву всіх своїх полях. Вся ферма складається з полів, пронумерованих від до і з'єднаних двонаправленими дорогами таким чином, що з кожного поля можна досягти будь-яке інше поле, використовуючи певний набір шляхів.
Фермер Джон може садити різні типи трави на кожному полі, однак він хоче звести до мінімуму кількість видів трави, що використовуються в цілому, оскільки чим більше видів трави він використовує, тим більше витрат він несе.
На жаль, його корови стали ставитись до вибору трави на фермі досить снобістськи. Якщо один і той же тип трави посаджений на двох сусідніх полях (безпосередньо з'єднаних дорогою) або навіть на двох майже сусідніх полях (які безпосередньо пов'язані із загальним полем дорогами), то корови будуть скаржитися на відсутність різноманітності в їх поживному раціоні. Останнє, що потрібно фермеру Джону, так це скарги від корів, враховуючи, скільки шкоди вони, як відомо, завдають, будучи незадоволені.
Допоможіть фермеру Джону визначити мінімальну кількість видів трави, яка йому потрібна для всієї ферми.
Вхідні дані
Перший рядок містить число . Кожен із рядків, що залишилися, описує дорогу і містить два поля, які вона з'єднує.
Вихідні дані
Виведіть мінімальну кількість видів трави, яку потрібно використовувати фермер Джону.
Приклади
У наведеному прикладі є поля, вони лінійно пов'язані. Потрібно щонайменше три типи трави. Наприклад, фермер Джон може засіяти поля травами типу і в такий спосіб: .