#1800. 抓住间谍

抓住间谍

题目描述

小核桃喜欢玩一个团队合作的游戏。游戏中共有 nn 个人,编号为 1n1 \sim n,这些人中共有两个间谍,编号是未知的。现在这 nn 个人要进行 mm 次行动,其中第 ii 次行动会派出 aia_i 个人。如果这些人中有间谍,那么行动就会失败,否则行动就会成功。现在给定每一次行动的结果,以及参与行动的人,请你推测出到底哪两个人是间谍。如果有多种可能的情况,请输出字典序最小的一组。

字典序最小的说明:本题输出的是两个数字,表示两个间谍的编号。对于两组不同的可能答案,先比较第一个间谍的编号,若相同,则比较第二个间谍的编号。若编号不同,则编号较小的一组字典序较小。

题目保证有解。

输入格式

输入第一行包含两个正整数 n,mn,m 意义如题面所示。(1n,m200)(1 \leq n, m \leq 200)

接下来包含 mm 行,分别表示一次行动。每一行的第一个数字尽可能为 0 或 1,其中 0 表示行动失败,1 表示行动成功。接下来给定 aia_i,表示参与行动的人数。接下来给定 aia_i 个各不相同的正整数 bib_i,分别表示参与这次行动的所有人的编号。(1ai,bin)(1 \leq a_i, b_i \leq n)

输出格式

输出两个由空格隔开的数字表示字典序最小的间谍编号。

4 1
1 2 3 4
1 2
5 3
0 3 1 2 3
0 2 2 4
1 2 1 5
2 3

样例解释 1

只有一次行动,行动成功,参与者有 2 个人,编号分别为 3 和 4。由于已知间谍是 2 人,且 3 和 4 是成功的,说明间谍只可能是 1 和 2。

样例解释 2

首先通过第三次行动排除 1 和 5 是间谍的可能,则间谍只可能是 [2,3],[2,4],[3,4]。由于 [2,3] 的字典序最小,所以输出 2 3

数据规模与约定

对于 30% 的数据,有 1n,m501 \leq n, m \leq 50

对于 100% 的数据,有 1n,m2001 \leq n, m \leq 200