#D6086. Longest Path

    ID: 5057 Type: Default 2000ms 1073MiB

Longest Path

Longest Path

There is a directed graph G with N vertices and M edges. The vertices are numbered 1, 2, \ldots, N, and for each i (1 \leq i \leq M), the i-th directed edge goes from Vertex x_i to y_i. G does not contain directed cycles.

Find the length of the longest directed path in G. Here, the length of a directed path is the number of edges in it.

Constraints

  • All values in input are integers.
  • 2 \leq N \leq 10^5
  • 1 \leq M \leq 10^5
  • 1 \leq x_i, y_i \leq N
  • All pairs (x_i, y_i) are distinct.
  • G does not contain directed cycles.

Input

Input is given from Standard Input in the following format:

N M x_1 y_1 x_2 y_2 : x_M y_M

Output

Print the length of the longest directed path in G.

Examples

Input

4 5 1 2 1 3 3 2 2 4 3 4

Output

3

Input

6 3 2 3 4 5 5 6

Output

2

Input

5 8 5 3 2 3 2 4 5 2 5 1 1 4 4 3 1 3

Output

3

inputFormat

input are integers.

  • 2 \leq N \leq 10^5
  • 1 \leq M \leq 10^5
  • 1 \leq x_i, y_i \leq N
  • All pairs (x_i, y_i) are distinct.
  • G does not contain directed cycles.

Input

Input is given from Standard Input in the following format:

N M x_1 y_1 x_2 y_2 : x_M y_M

outputFormat

Output

Print the length of the longest directed path in G.

Examples

Input

4 5 1 2 1 3 3 2 2 4 3 4

Output

3

Input

6 3 2 3 4 5 5 6

Output

2

Input

5 8 5 3 2 3 2 4 5 2 5 1 1 4 4 3 1 3

Output

3

样例

6 3
2 3
4 5
5 6
2