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