빙고!
시간 제한1초메모리 제한128 MB
공이 담긴 집합이 주어질 때 0부터 N까지의 모든 값이 집합에 속한 두 공의 차의 절댓값으로 나타나는지 판정한다.
문제
Albert, Charles, Mary는 고전 게임 빙고의 새로운 버전을 만들었습니다. 전통적인 빙고에서는 참가자가 아닌 진행자(caller)가 게임을 진행합니다. 게임을 시작할 때 각 참가자는 부터 까지의 수를 행과 열로 배열한, 서로 겹치지 않는 조합이 적힌 카드를 한 장씩 받습니다. 진행자는 부터 까지 번호가 매겨진 개의 공이 든 주머니를 가지고 있습니다. 매 턴마다 진행자는 주머니에서 공을 하나 무작위로 뽑아 그 번호를 참가자들에게 알리고, 다시 뽑히지 않도록 옆에 치워 둡니다. 각 참가자는 불린 수를 카드에서 찾아 있으면 표시합니다. 미리 정해진 패턴(예: 가로 한 줄 전체)을 가장 먼저 완성한 참가자가 상을 받습니다.
Albert-Charles-Mary 버전에서는 매 턴마다 진행자가 첫 번째 공을 뽑아 번호를 확인한 뒤 주머니에 다시 넣고, 두 번째 공을 뽑아 번호를 확인한 뒤 다시 넣은 다음, 두 공 번호의 절댓값 차이를 부릅니다. 재미를 더하기 위해 게임을 시작하기 전에 일부(비어 있을 수도 있음) 공을 주머니에서 제거하되, 주머니에는 최소 두 개의 공이 남도록 합니다. 이들은 주머니에 남은 공들과 이 새로운 방식만으로 부터 까지의 모든 수를 여전히 부를 수 있는지 알고 싶어 합니다.
입력
입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스는 정확히 두 줄로 주어집니다. 첫째 줄에는 두 정수 과 가 주어집니다. 은 위에서 설명한 값이며 (), 는 주머니에 남은 공의 개수입니다 (). 둘째 줄에는 주머니에 남은 공을 나타내는 서로 다른 정수 가 개 주어집니다 ().
마지막 테스트 케이스 다음에는 두 개의 이 적힌 줄이 옵니다.
출력
각 테스트 케이스마다 한 줄을 출력합니다. 부터 까지의 모든 수를 부를 수 있으면 대문자 Y를, 그렇지 않으면 대문자 N을 출력합니다.