실험
시간 제한2초메모리 제한1024 MB
사용자들의 그룹 소속과 서로 반대 성향인 사용자 쌍이 주어질 때, 각 그룹에서 최대 한 명만 뽑으면서 모든 반대 쌍에서 적어도 한 명을 선택하는 집합이 존재하는지 판정한다.
문제
선린인터넷주식회사에서 데이터 사이언티스트로 일하는 준원이는 회사의 새로운 서비스의 베타 테스터를 선정하려 한다.
베타 테스터의 후보가 되는 유저는 총 명이다. 명의 유저는 그간의 서비스 사용 기록을 바탕으로 총 개의 유저 그룹으로 나뉘는데, 각 유저는 개 이상 개 이하의 유저 그룹에 속한다. (일 수도 있다. 이 경우 아무 그룹도 없다고 생각하면 된다.)
준원이가 이들 명의 유저 가운데 몇 명의 베타 테스터를 뽑을 때 다음 조건을 반드시 만족해야 한다.
- 조건 1: 하나의 유저 그룹에서는 최대 한 명의 베타 테스터만 뽑을 수 있다.
- 조건 2: 서로 반대되는 성향의 두 유저 가운데 최소 한 명은 베타 테스터로 뽑아야 한다.
- 서로 반대되는 성향을 가지는 유저의 쌍들은 입력을 통해 주어진다.
준원이를 도와 베타 테스터를 선정하자.
입력
입력의 첫 줄에는 네 정수 , , , 가 주어진다.
이후 개의 줄에 걸쳐 두 정수 , 가 주어진다. 이는 유저 가 그룹 에 속함을 의미하며, , 을 만족한다.
이후 개의 줄에 걸쳐 두 정수 , 가 주어진다. 이는 유저 와 유저 의 성향이 반대됨을 의미하며, , 를 만족한다.
출력
조건들을 만족하게 준원이가 베타 테스터를 선정할 수 있으면 "TAK", 아니면 "NIE"를 출력하라.