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