완벽한 화음 (Small)
면접 대비시간 제한5초메모리 제한512 MB
L과 H 사이에서 다른 모든 음을 나누거나 나누어지는 가장 작은 진동수를 찾고 없으면 NO를 출력합니다.
문제
제프는 아틀란티스 대관현악단의 단원이다. 단원은 저마다 연주할 음을 이미 정해 두었다. 편의상 한 사람이 한 음만 연주한다고 하자. 두 음은 한쪽의 진동수가 다른 쪽의 진동수를 나누어떨어지게 할 때 화음을 이룬다고 한다. 화음의 정의치고는 꽤 빡빡하지만, 아틀란티스 사람들은 음악에서 보수적이기로 유명하다. 다른 단원이 정한 음끼리는 서로 화음을 이루지 않을 수도 있다. 제프는 자기 음으로 교향곡을 더 낫게 만들고 싶어서, 다른 모든 단원의 음과 화음을 이루도록 자기 음을 고르려고 한다.
말만 들으면 간단하다. 진동수가 모두 양의 정수이니 진동수가 1인 음을 연주하거나, 반대로 다른 음 전체의 최소공배수에 해당하는 음을 연주하면 된다. 그런데 제프의 악기는 낼 수 있는 음의 범위가 정해져 있다. 다른 모든 음과 화음을 이루는 음을 제프가 연주할 수 있는지 판단하자.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. 이어서 개의 테스트 케이스가 주어지며, 각 테스트 케이스는 두 줄로 이루어진다. 첫 줄에는 세 정수 , , 가 주어진다. 은 다른 단원의 수, 과 는 제프의 악기가 낼 수 있는 가장 낮은 음과 가장 높은 음의 진동수다. 둘째 줄에는 다른 단원이 연주하는 음의 진동수 개가 주어진다.
제한
- 모든 진동수는 10000 이하의 양의 정수다.
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호다. 는 제프가 알맞은 음을 연주할 수 없으면 문자열 NO, 연주할 수 있으면 연주 가능한 진동수다. 연주할 수 있는 진동수가 여럿이면 그중 가장 작은 값을 출력한다.