Задано орієнтований граф з вершинами та ребрами. Вершини пронумеровані від до . Для кожного i~(1 ≤ i ≤ m) задано орієнтоване ребро з вершини x_i у вершину y_i.
Граф не містить орієнтованих циклів.
Знайдіть довжину найдовшого орієнтованого шляху в . Під довжиною шляху розуміється кількість ребер у цьому шляху.
Перший рядок містить два цілі числа: кількість вершин n~(2 \le n \le 10^5) та кількість ребер m~(1 \le m \le 10^5) графа. Кожен із наступних рядків містить два цілі числа x_i, y_i~(1 \le x_i, y_i \le n), що описують орієнтоване ребро з вершини x_i у вершину y_i.
Виведіть довжину найдовшого орієнтованого шляху в графі .

Приклад 1
Приклад 2
Приклад 3