Задачі
Слабка k-зв`язність
Слабка k-зв`язність
Ані, як майбутній чемпіонці світу з програмування, доручили дуже відповідальне завдання. Уряд Н-ської області доручає їй план будівництва доріг між містами. За планом усі дороги односторонні, але між двома містами може бути більше однієї дороги, можливо, у різних напрямках. Ані необхідно обчислити таке мінімальне \textbf{k}, що звданий їй план є слабо \textbf{k}-зв'язним.
Уряд називає план слабо \textbf{k}-зв'язним, якщо виконано наступну умову: для будь-яких двох різних міст можна проїхати від одного до іншого, порушуючи правила руху не більше \textbf{k} разів. Порушення правил - це проїзд по існуючій дорозі у зворотному напрямку. Гарантується, що між будь-якими двома містами можна проїхати, можливо, кілька разів порушивши правила.
\InputFile
У першому рядку вхідного файлу дано два числа \textbf{2} ≤ \textbf{n} ≤ \textbf{300} и \textbf{1} ≤ \textbf{m} ≤ \textbf{10^5} - кількість міст і доріг у плані. У наступних \textbf{m} рядках дано по два числа - номери міст, в яких починається і закінчується відповідна дорога.
\OutputFile
У вихідний файл виведіть мінімальне \textbf{k}, таке, що даний у вхідному файлі план є слабо \textbf{k}-зв'язним.
Вхідні дані #1
3 2 1 2 1 3
Вихідні дані #1
1