TopCoder

餘切
$\huge\text{owoovo is 8}$

User's AC Ratio

80.0% (8/10)

Submission's AC Ratio

45.5% (10/22)

Tags

Description

巴已己很愛來你家串珠珠,他非常喜歡將一堆珠珠穿成一個項鍊,而根據珠珠的形狀共可以分成 $n$ 種,但現在這些珠珠很麻煩,珠珠有很多都有獨特的形狀,
導致每種珠珠只能跟部份其他種類的珠珠串起來的,也就是每種珠珠的下一顆珠珠只能是固定的某些種類(有可能包含自己的種類),經過你嚴謹的研究後共發現了 $m$ 組能接起來的珠珠組合。
而你家非常有錢,每種珠珠都有無限多顆,所以巴已己可以串出非常長的珠珠項鍊。

當巴已己串完他的珠珠項鍊後,會請你幫這條項鍊上的每顆珠珠都塗上顏色。為此你需要事先準備 $k$ 種顏料,不論巴已己串出來的項鍊長怎樣,
你都存在一種幫項鍊塗色的方法,使得每種顏料都曾被使用到,且項鍊上每種顏色的珠珠數量都一樣。因巴已己覺得項鍊越多顏色越漂亮,
為了滿足他的期望你需要找出最大的 $k$ 為何。

Input Format

第一行有兩個數字 $n, m$,分別表示有幾種珠珠以及有多少種能接起來的珠珠組合。

接下來有 $m$ 行,每一行有兩個數字 $a_i, b_i$ 表示 $a$ 種類的珠珠下一顆可以接 $b$ 種類的珠珠。

  • $1 \leq n \leq 500000$
  • $0 \leq m \leq 500000$
  • $1 \leq a_i, b_i \leq n$
  • $(a_i, b_i)$ 可能會重複出現。

Output Format

輸出 $k$ 的最大可能,若巴已己不可能串出珠珠項鍊便輸出 $0$。

Sample Input 1

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

Sample Output 1

2

Sample Input 2

8 15
6 1
1 2
2 6
4 8
8 3
3 7
7 5
6 4
5 6
4 2
7 2
4 5
3 4
1 8
8 6

Sample Output 2

3

Sample Input 3

500000 0

Sample Output 3

0

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資 0
2 3~23 $n \leq 20$ 10
3 24~68 保證圖為強連通圖 30
4 0~99 無額外限制 60

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1500 262144 65536 1 4
1 1500 262144 65536 1 4
2 1500 262144 65536 1 4
3 1500 262144 65536 2 4
4 1500 262144 65536 2 4
5 1500 262144 65536 2 4
6 1500 262144 65536 2 4
7 1500 262144 65536 2 4
8 1500 262144 65536 2 4
9 1500 262144 65536 2 4
10 1500 262144 65536 2 4
11 1500 262144 65536 2 4
12 1500 262144 65536 2 4
13 1500 262144 65536 2 4
14 1500 262144 65536 2 4
15 1500 262144 65536 2 4
16 1500 262144 65536 2 4
17 1500 262144 65536 2 4
18 1500 262144 65536 2 4
19 1500 262144 65536 2 4
20 1500 262144 65536 2 4
21 1500 262144 65536 2 4
22 1500 262144 65536 2 4
23 1500 262144 65536 2 4
24 1500 262144 65536 3 4
25 1500 262144 65536 3 4
26 1500 262144 65536 3 4
27 1500 262144 65536 3 4
28 1500 262144 65536 3 4
29 1500 262144 65536 3 4
30 1500 262144 65536 3 4
31 1500 262144 65536 3 4
32 1500 262144 65536 3 4
33 1500 262144 65536 3 4
34 1500 262144 65536 3 4
35 1500 262144 65536 3 4
36 1500 262144 65536 3 4
37 1500 262144 65536 3 4
38 1500 262144 65536 3 4
39 1500 262144 65536 3 4
40 1500 262144 65536 3 4
41 1500 262144 65536 3 4
42 1500 262144 65536 3 4
43 1500 262144 65536 3 4
44 1500 262144 65536 3 4
45 1500 262144 65536 3 4
46 1500 262144 65536 3 4
47 1500 262144 65536 3 4
48 1500 262144 65536 3 4
49 1500 262144 65536 3 4
50 1500 262144 65536 3 4
51 1500 262144 65536 3 4
52 1500 262144 65536 3 4
53 1500 262144 65536 3 4
54 1500 262144 65536 3 4
55 1500 262144 65536 3 4
56 1500 262144 65536 3 4
57 1500 262144 65536 3 4
58 1500 262144 65536 3 4
59 1500 262144 65536 3 4
60 1500 262144 65536 3 4
61 1500 262144 65536 3 4
62 1500 262144 65536 3 4
63 1500 262144 65536 3 4
64 1500 262144 65536 3 4
65 1500 262144 65536 3 4
66 1500 262144 65536 3 4
67 1500 262144 65536 3 4
68 1500 262144 65536 3 4
69 1500 262144 65536 4
70 1500 262144 65536 4
71 1500 262144 65536 4
72 1500 262144 65536 4
73 1500 262144 65536 4
74 1500 262144 65536 4
75 1500 262144 65536 4
76 1500 262144 65536 4
77 1500 262144 65536 4
78 1500 262144 65536 4
79 1500 262144 65536 4
80 1500 262144 65536 4
81 1500 262144 65536 4
82 1500 262144 65536 4
83 1500 262144 65536 4
84 1500 262144 65536 4
85 1500 262144 65536 4
86 1500 262144 65536 4
87 1500 262144 65536 4
88 1500 262144 65536 4
89 1500 262144 65536 4
90 1500 262144 65536 4
91 1500 262144 65536 4
92 1500 262144 65536 4
93 1500 262144 65536 4
94 1500 262144 65536 4
95 1500 262144 65536 4
96 1500 262144 65536 4
97 1500 262144 65536 4
98 1500 262144 65536 4
99 1500 262144 65536 4