각 부모가 대립유전자 하나씩을 물려주는 N 부모 체계에서 부모들의 혈액형으로 Q개 질의 혈액형이 자식에게 나타날 수 있는지 판정합니다.
보통7그래프조합론아직 제출이 없습니다시간 제한3초메모리 제한256 MB사람의 혈액형은 AB, A, B, O 네 가지다. 각각 적혈구에 A형과 B형 항원이 모두 있는 경우, A형만 있는 경우, B형만 있는 경우, 항원이 하나도 없는 경우를 뜻한다. 혈액형은 DNA에 있는 대립유전자 두 개가 결정하고, 각 대립유전자의 타입은 A, B, O 중 하나다. 혈액형마다 가능한 대립유전자 조합은 다음과 같다.
| 혈액형 | AB | A | B | O |
|---|---|---|---|---|
| 가능한 대립유전자 | AB | OA, AA | OB, BB | OO |
사람은 두 부모에게서 대립유전자를 정확히 하나씩 물려받는다. 그래서 부모 두 명의 혈액형을 알면 어떤 혈액형이 자식에게 가능한지 아닌지 확실하게 말할 수 있다. 예를 들어 부모의 혈액형이 각각 AB와 B이면 두 사람이 가질 수 있는 대립유전자 조합은 {AB}와 {OB, BB}다. 대립유전자의 순서는 상관없으므로 자식이 가질 수 있는 조합은 {OA, AB, OB, BB}이고, 따라서 자식에게는 AB, A, B가 가능하고 O는 불가능하다.
지구의 생명이 다르게 진화해서 한 개체에게 부모가 셋, 대립유전자가 셋, 항원 타입이 세 가지 있었다면 조합은 이렇게 된다.
| 혈액형 | ABC | AB | AC | BC | A | B | C | O |
|---|---|---|---|---|---|---|---|---|
| 가능한 대립유전자 | ABC | OAB, AAB, ABB | OAC, AAC, ACC | OBC, BBC, BCC | OOA, OAA, AAA | OOB, OBB, BBB | OOC, OCC, CCC | OOO |
부모 세 명의 혈액형이 A, BC, O이면 자식에게는 BC와 ABC를 뺀 모든 혈액형이 가능하다.
우주는 넓다. 어딘가에는 한 개체에게 부모가 N명, 대립유전자가 N개, 항원 타입이 N가지인 생명이 있을지도 모른다. 부모 N명의 혈액형과 검사할 혈액형 Q개가 주어진다. 각 혈액형이 이 부모의 자식에게 가능한지 판정하라.
첫째 줄에 정수 N과 Q가 주어진다. N은 부모의 수이자 대립유전자의 수이자 항원 타입의 수이고, Q는 질의의 수다 (1≤N≤100, 1≤Q≤40).
다음 N개 줄에는 부모 한 명의 혈액형이 한 줄씩 주어진다. 그 다음 Q개 줄에는 검사할 혈액형이 한 줄씩 주어진다.
항원 타입은 글자가 아니라 1부터 N까지의 서로 다른 정수로 나타낸다. 혈액형을 나타내는 각 줄은 그 혈액형에 있는 항원 타입의 개수 B와 (0≤B≤N), 이어서 그 혈액형에 있는 항원 타입을 나타내는 서로 다른 정수 C1,C2,…,CB로 이루어진다 (1≤Ci≤N).
질의 Q개마다 한 줄씩 출력한다. 그 혈액형이 주어진 부모의 자식에게 가능하면 대문자 "Y"를, 불가능하면 대문자 "N"을 출력한다. 입력에 질의가 나온 순서대로 출력한다.