Mạng Lưới
Cho một mạng lưới gồm $N$ nút và $M$ liên kết một chiều. Các nút được đánh số từ $1$ đến $N$. Liên kết thứ $i$ ($1 ≤ i ≤ M$) đi từ nút $u_i$ đến nút $v_i$. Mạng lưới này không chứa chu trình có hướng.
Hãy tìm độ dài của đường đi có hướng dài nhất trong mạng lưới. Độ dài của một đường đi có hướng là số lượng liên kết thuộc đường đi đó.
Dữ liệu vào
Dữ liệu vào được nhập từ đầu vào chuẩn theo định dạng sau:
Dòng đầu tiên chứa hai số nguyên $N$ ($2 ≤ N ≤ 10^5$) và $M$ ($1 ≤ M ≤ 10^5$), lần lượt là số nút và số liên kết.
Trong $M$ dòng tiếp theo, dòng thứ $i$ chứa hai số nguyên $u_i$ và $v_i$ ($1 ≤ u_i, v_i ≤ N$), biểu thị một liên kết một chiều từ nút $u_i$ đến nút $v_i$. Tất cả các cặp $(u_i, v_i)$ đều đôi một khác nhau và mạng lưới không chứa chu trình có hướng. Tất cả các giá trị trong dữ liệu vào đều là số nguyên.
Kết quả
In ra độ dài lớn nhất của một đường đi có hướng trong mạng lưới.
Chấm điểm
Subtask 1 (30 points). $N, M ≤ 1000$
Subtask 2 (70 points). $2 ≤ N ≤ 10^5$; $1 ≤ M ≤ 10^5$
Ví dụ
Input
4 1
1 2
Output
1
Ghi chú
Trong ví dụ mẫu, đường đi dài nhất có độ dài bằng 1, gồm liên kết nối từ nút 1 đến nút 2.