你是布尔德洛特(Bourdelot)古代谱系图研究所的考古学家,专门研究布尔德洛特的三大王国。一天,在挖掘一座古遗迹时,你发现了一些关于布尔德洛特三大王国王朝的文件。由于布尔德洛特王国的早期历史笼罩在神秘之中,甚至许多国王和王后的名字都在历史中失传了,因此这些文件有望揭示古代王朝的血缘关系。
这些文件包含若干行,每一行由一对名字组成,推测是古代王室成员的名字。以下是一个包含两行内容的文件示例:
Alice Bob Bob Clare
这些行本应是完整的句子,但文件损坏严重,因此你每行只能读到两个名字。起初,你认为所有这些行都描述了真实的祖先关系,但你发现这会导致矛盾。后来,你发现为了在没有矛盾的情况下理解祖先关系,有些文件应该被负面解读。形式上,一个文件要么被解读为正面文件,要么被解读为负面文件。
- 在正面文件中,每一行左侧的人是右侧人的祖先。如果上述文件是正面文件,它应被解读为“Alice 是 Bob 的祖先,且 Bob 是 Clare 的祖先”。
- 在负面文件中,每一行左侧的人不是右侧人的祖先。如果上述文件是负面文件,它应被解读为“Alice 不是 Bob 的祖先,且 Bob 不是 Clare 的祖先”。
单个文件绝不能混合正面和负面部分。上述文件绝不能解读为“Alice 是 Bob 的祖先,且 Bob 不是 Clare 的祖先”。
你还发现,存在一些并未直接出现在文件中,但可以通过以下规则推断出的祖先-后代关系:对于任何三人 $x, y$ 和 $z$,如果 $x$ 是 $y$ 的祖先,且 $y$ 是 $z$ 的祖先,那么 $x$ 是 $z$ 的祖先。例如,如果上述文件是正面文件,那么可以推断出“Alice Clare”这一祖先-后代关系。
你对两个王室成员之间的血缘关系很感兴趣。不幸的是,这些文件的解读方式(即哪些是正面的,哪些是负面的)是未知的。给定一组文件和两个不同的名字 $p$ 和 $q$,你的任务是找到一种文件解读方式,使其与“$p$ 是 $q$ 的祖先”这一假设不矛盾。如果存在某人 $x$ 和 $y$,使得从文件解读和假设中可以推断出以下情况,则该解读与假设矛盾:
- $x$ 是 $y$ 的祖先,且 $y$ 是 $x$ 的祖先,或者
- $x$ 是 $y$ 的祖先,且 $x$ 不是 $y$ 的祖先。
我们确信文件中提到的每个人都有一个唯一的单名,即没有两个人名字相同,且同一个人不会以不同的名字被提及。
当人 A 是人 B 的祖先时,人 A 可以是人 B 的父母、祖父母、曾祖父母等。此外,还可能存在未出现在文件中的人或祖先-后代关系。例如,对于图 F.1 所示的家谱,可能存在如下正面文件:
A H B H D H F H E I
其中人 C 和 G 未出现,且诸如“A E”、“D F”和“C I”之类的祖先-后代关系也未出现。
图 F.1. 家谱
输入格式
输入包含单个测试用例,格式如下:
$p \ q$ $n$ $c_1$ $\vdots$ $c_n$
第一行包含两个不同的名字 $p$ 和 $q$,以空格分隔。第二行包含一个整数 $n$,表示文件的数量。随后是 $n$ 个文件的描述。
第 $i$ 个文件 $c_i$ 的描述格式如下:
$m_i$ $x_{i,1} \ y_{i,1}$ $\vdots$ $x_{i,m_i} \ y_{i,m_i}$
第一行包含一个整数 $m_i$,表示该文件中的名字对数量。接下来的 $m_i$ 行,每行包含一对不同的名字 $x_{i,j}$ 和 $y_{i,j}$ ($1 \le j \le m_i$),以空格分隔。
每个名字由大小写字母组成,长度在 1 到 5 之间(含 1 和 5)。
测试用例满足以下数据范围:
- $1 \le n \le 1000$
- $1 \le m_i$
- $\sum_{i=1}^{n} m_i \le 100000$,即文件中名字对的总数不超过 100000。
- 测试用例中出现的不同名字的数量不超过 300。
输出格式
如果存在一种文件解读方式,使得其与“$p$ 是 $q$ 的祖先”这一假设不矛盾,则输出“Yes”(不含引号),否则输出“No”。
样例
样例输入 1
Alice Bob 3 2 Alice Bob Bob Clare 2 Bob Clare Clare David 2 Clare David David Alice
样例输出 1
No
样例输入 2
Alice David 3 2 Alice Bob Bob Clare 2 Bob Clare Clare David 2 Clare David David Alice
样例输出 2
Yes
样例输入 3
Alice Bob 1 2 Clare David David Clare
样例输出 3
Yes