시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
로빈슨 크루소가 탄 배가 폭풍우에 난파되어 그는 혼자 한 섬에 도착했다. 그는 지치고 절망했지만, 어릴 때 들었던 그 섬의 전설을 또렷이 기억하고 있었다.
전설에 따르면 섬에는 선한 종족과 악한 종족이 산다. 로빈슨은 살아남기 위해 누가 선한 종족이고 누가 악한 종족인지 알아내야 한다. 하지만 두 종족은 겉모습만으로는 구별할 수 없다.
섬 사람들은 서로를 모두 알고 있으므로, 어떤 사람이 선한 종족인지 아닌지를 정확히 알고 있다. 악한 종족은 마음에 들지 않는 질문을 받으면 질문한 사람을 저주해 죽일 수도 있지만, 어떤 사람이 선한 종족인지 묻는 질문은 안전하다. 선한 종족은 항상 참말만 하고, 악한 종족은 항상 거짓말만 한다. 두 종족의 수는 전설에 적혀 있으며, 수세기 동안 변하지 않았다.
로빈슨은 여러 사람에게 질문했고, 당신은 그 답변을 바탕으로 모든 섬 사람을 선한 종족과 악한 종족으로 분류할 수 있는지 판단해야 한다.
첫째 줄에 세 정수 n, p1, p2가 주어진다. n은 로빈슨이 한 질문의 수이고, p1은 선한 종족의 수, p2는 악한 종족의 수이다.
다음 n개 줄에는 두 정수 xi, yi와 단어 ai가 주어진다. 섬 사람은 1부터 p1 + p2까지 번호가 매겨져 있다. ai가 yes이면 xi가 yi를 선한 종족이라고 답했다는 뜻이고, no이면 선한 종족이 아니라고 답했다는 뜻이다.
xi와 yi는 같을 수 있다. 같은 질문이 여러 번 주어질 수도 있다. n은 1000 이하의 음이 아닌 정수이고, p1과 p2는 각각 300 이하의 음이 아닌 정수이다. 모순되는 답변은 주어지지 않는다.
주어진 정보만으로 모든 섬 사람을 선한 종족과 악한 종족으로 확정할 수 있으면, 첫째 줄에 선한 종족 사람의 번호를 오름차순으로 출력한다. p1 = 0이면 빈 줄을 출력한다.
정보가 충분하지 않아 분류가 하나로 정해지지 않으면 첫째 줄에 NO를 출력한다.