Problem 
                         
                                 给定一个包含 n 个顶点和 m 条有向边的图。每个顶点包含一些小写拉丁字母。 
让我们将路径的长度定义为沿着这条路径遇到某个字母的最大次数。例如,如果路径中的字母组成字符串“abaca”,则该路径的值为3。
你的任务——找到具有最大值的路径。
输入:
第一行包含两个整数n,m(1 ≤ n, m ≤ 200000),表示该图有n个顶点和m条有向边。
第二行包含字符串 s,仅由小写拉丁字母组成。符号编号 i —这是写在最上面的数字 i 的字母。
然后是 m 行。这些行中的每一行都包含两个整数 x, y (1 ≤ x, y ≤ n),描述从 x 到 y 的有向边。注意x可以等于y,x和y之间可以有多条边。
此外,图形可能会断开连接。
输出:
打印一个数字——最大路径长度。如果存在具有任意大值的路径,则打印 -1。
示例:
 
<正文>
| 输入 | 
输出 | 
5 4 
蕉麻 
1 2 
1 3  
34 
4 5 | 
3 | 
6 6 
xzyabc 
1 2 
3 1 
23 
5 4 
4 3 
6 4 | 
-1 | 
10 14 
xzyzyzyzqx 
1 2 
24 
3 5 
4 5 
26 
68  
6 5 
2 10 
39 
10 9  
46 
1 10 
28  
37 | 
4 | 
表>