{"trustable":false,"sections":[{"title":"","value":{"format":"MD","content":"考虑一组$N$个学生和$P$门课程。每个学生都参观零门、一门或多门课程。你的任务是确定是否有可能成立一个由恰好$P$名学生组成的委员会,同时满足以下条件:\n- 委员会中的每个学生代表不同的课程(如果学生访问该课程,他/她可以代表该课程)\n- 每门课程在委员会中有一名代表"}},{"title":"Input","value":{"format":"MD","content":"您的程序应该从$\\text{std}$输入读取数据集。输入的第一行包含数据集的数量。每个数据集都以以下格式呈现:\n$P~N$\n$Count_1~Student_{1~1} Student_{1~2}\\dots Student_{1~Count_1}$\n$Count_2~Student_{2~1}~Student_{2~2}\\dots Student_{2~Count_2}$\n$\\dots$\n$Count_P~Student_{P~1}~Student_{P~2}\\dots Student_{P~Count_P}$\n\n每个数据集中的第一行包含两个由一个空格分隔的正整数:$P (1\\le P\\le 100)$-课程数和$N (1\\le N\\le 300)$-学生人数。接下来的$ P $行按课程顺序描述——从课程$ 1 $到课程$ P$,每行描述一个课程。课程$ i $的描述是以整数$ Count_i (0\\le Count_i\\le N) $开头的一行,表示访问课程$i$的学生人数。接下来,在一个空格之后,您将找到$ Count_i $学生,访问课程,每两个连续的由一个空格分隔。学生用从$ 1 $到$ N $的正整数编号。\n连续的数据集之间没有空行。输入数据正确。"}},{"title":"Output","value":{"format":"MD","content":"程序的结果在标准输出上。对于每个输入数据集,如果可以成立委员会,程序会在一行打印$\\text{“YES”}$,否则打印$\\text{“NO”}$。行首不应有任何前导空格。"}},{"title":"Sample Input","value":{"format":"MD","content":"```\n2\n3 3\n3 1 2 3\n2 1 2\n1 1\n3 3\n2 1 3\n2 1 3\n1 1\n```"}},{"title":"Sample Output","value":{"format":"MD","content":"```\nYES\nNO\n```"}}]}