e-olymp
Задачи

Слабая k-связность

Слабая k-связность

Ане, как будущей чемпионке мира по программированию, поручили очень ответственное задание. Правительство Н-ской области вручает ей план постройки дорог между городами. По плану все дороги односторонние, но между двумя городами может быть больше одной дороги, возможно, в разных направлениях. Ане необходимо вычислить минимальное такое k, что данный ей план является слабо k-связным.

Правительство называет план слабо k-связным, если выполнено следующее условие: для любых двух различных городов можно проехать от одного до другого, нарушая правила движения не более k раз. Нарушение правил - это проезд по существующей дороге в обратном направлении. Гарантируется, что между любыми двумя городами можно проехать, возможно, несколько раз нарушив правила.

Входные данные

В первой строке входного файла даны два числа 2n300 и 1m105 - количество городов и дорог в плане. В последующих m строках даны по два числа - номера городов, в которых начинается и заканчивается соответствующая дорога.

Выходные данные

В выходной файл выведите минимальное k, такое, что данный во входном файле план является слабо k-связным.

Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные
Sample 1
3 2
1 2
1 3 

Sample 2
4 4
2 4
1 3
4 1
3 2 
Выходные данные
Sample 1
1

Sample 2
0