[翻譯][UVa][10685] Nature

在自然界中,存在著食物鏈 (alimentary chain),在食物鏈的底層通常是植物 (vegetal),小型動物吃這些植物,然後大型動物吃這些小型動物。食物鏈可以是環狀,當有些動物死掉後他將會分解變成礦物質,而這些礦物質會是植物的營養來源。

在這題目中,給你一堆生物,你將找出最大的食物鏈。如果 $A$$B$ 的掠食者 (predator),則你可以將他們都視為在相同食物鏈中。

輸入

輸入檔案中有多組輸入,每組輸入的敘述如下:

每組輸入開始有兩個整數 $C$ ($1\leq{C}\leq{5000}$) 和 $R$ ($0\leq{R}\leq{5000}$),$C$ 代表生物數量,$R$ 代表關係數量。接下來的 $C$ 行是生物名稱,每個名稱由大寫字母 (A, B, …, Z)、小寫字母 (a, b, …, z) 和底線 (_) 構成,名稱的長度不會超過 30 個字元。接著有 $R$ 行描述生物之間的關係,每一行會有兩個生物名稱,代表第二個生物是第一個生物的掠食者。你可以假設任何生物的掠食者不會是自己。

輸入結束在 $C=R=0$,這組輸入不必處理。兩組輸入間會有一個空白行隔開。

輸出

對於每組輸入,產生一行輸出,代表最大的食物鏈大小。

範例輸入

1
2
3
4
5
6
7
8
9
10
5 2
caterpillar
bird
horse
elefant
herb
herb caterpillar
caterpillar bird
0 0

範例輸出

1
3
,