Abland Yard
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

有一张图,每个点有一个标签。标签只可能是A或者B。每条路径都对应着一个字符串。对应方式如下:从起点开始,把经过的点的标签都记下来。问是否任意由A或者B组成的字符串 S 都存在一条原图中的路径使得其对应的字符串是 S。

输入描述:

第一行两个整数
第二行一个长度为n的字符串S表示每个节点的标签。
接下来m行每行两个整数表示一条a,b间的路径。

输出描述:

存在请输出"Yes",否则输出"No"。
示例1

输入

复制
2 3
AB
1 1
1 2
2 2

输出

复制
Yes
示例2

输入

复制
4 3
ABAB
1 2
2 3
3 1

输出

复制
No
示例3

输入

复制
13 23
ABAAAABBBBAAB
7 1
10 6
1 11
2 10
2 8
2 11
11 12
8 3
7 12
11 2
13 13
11 9
4 1
9 7
9 6
8 13
8 6
4 10
8 7
4 3
2 1
8 12
6 9

输出

复制
Yes