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.

Tutorial

Nộp bài

Đăng nhập để nộp bài.

Giới hạn

Thời gian 1.0s
Bộ nhớ 1024MB
Tổng điểm 100.0