숫자 하나로 보내는 힌트
시간 제한1초메모리 제한256 MB
1부터 12까지 수로 만든 6원소 부분집합 표를 이용해 A의 힌트 숫자와 B의 yes/no 답을 정해진 규칙대로 출력합니다.
문제
A와 B는 잠긴 연구소에 들어가려고 한다. 입구에는 보안 장치가 있고, 이 장치는 질문 하나를 던진다. 질문은 인 정수 로 적히며, yes 또는 no로 답해야 한다. 답이 맞으면 문이 열리고, 틀리면 경보가 울린다.
둘은 가 항상 아니면 라는 것을 알고 있다. 여기서 이고, 의 정답은 yes, 의 정답은 no다.
계획을 세우는 동안에는 둘 다 와 의 실제 값을 떠올리지 못했다. 그래서 B 혼자 입구로 가고 A는 멀리 떨어져 기다린다. 질문이 뜨는 순간 A는 와 를 기억해낸다. 그러나 그 거리에서 A는 B에게 설명을 할 수 없다. 정수 하나 를 외치는 것만 할 수 있다. B에게 필요한 정보를 전부 이 하나에 담아야 한다.
두 역할을 모두 맡는 프로그램을 작성하라. 첫 번째 실행에서는 , , 를 읽어 A가 외칠 를 출력하고, 두 번째 실행에서는 , , 를 읽어 B가 말할 답을 출력한다.
두 실행은 따로 채점하므로, 에서 를 만드는 규칙과 에서 답을 정하는 규칙을 여기서 고정한다.
부분집합 표. 의 원소 6개짜리 부분집합을 모두 모은 뒤, 각 부분집합을 원소의 오름차순 수열로 적고 사전순으로 정렬한다. 이런 부분집합은 924개다. 이 순서에서 번째 부분집합을 라 하고, 번호는 1부터 센다. 앞의 넷은 , , , 이고 마지막은 이다.
A가 외치는 수. 쌍 에 대해 는 에는 속하고 에는 속하지 않는 가장 작은 수다. 크기가 같고 서로 다른 두 부분집합은 한쪽이 다른 쪽을 포함하지 않으므로 그런 수는 항상 있다.
B가 하는 답. 쌍 에 대해 이면 답은 yes이고, 아니면 no다.
입력
첫째 줄에 정수 1 또는 2가 주어진다.
1이면 프로그램은 A를 맡는다. 둘째 줄에 과 가 주어진다. 다음 개 줄 중 번째 줄에는 와 가 주어진다 (, ).
2이면 프로그램은 B를 맡는다. 둘째 줄에 과 가 주어진다. 다음 개 줄 중 번째 줄에는 와 가 주어진다 (, ).
출력
A를 맡은 경우 개 줄을 출력한다. 번째 줄에는 번째 테스트 케이스의 를 위 규칙대로 출력한다.
B를 맡은 경우 개 줄을 출력한다. 번째 줄에는 번째 테스트 케이스의 답을 위 규칙대로 yes 또는 no로 출력한다.
제한
모든 테스트 케이스에서 , 이다.