아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

암호학적으로 강한 키

시간 제한2초메모리 제한256 MB

요약
수 a_i들에 대해 최대공약수와 최소공배수를 취해 닫힌 집합 S를 만들 때, 질의값 v가 S에 속하는지 판정한다.
난이도

어려움10점 중 8점

유형
정수론, 수학, 그리디, 해시맵
정답자
아직 제출이 없습니다

문제

파샤는 자신만의 데이터 암호화 프로토콜을 만들었다. 이 프로토콜에서 암호화에 쓰이는 키는 숫자 a1,a2,…,ana_1, a_2, \ldots, a_n으로 이루어진 집합으로부터 만들어지는 암호학적으로 강한 키의 집합 SS에 속해야 한다.

집합 SS는 다음 두 성질을 만족하는 포함 관계에 대해 최소인 집합이다.

  1. 모든 수 a1,a2,…,ana_1, a_2, \ldots, a_n은 SS에 속한다.
  2. xx와 yy가 SS에 속하면, 그 최대공약수와 최소공배수도 SS에 속한다.

파샤는 키로 수 vv를 사용하려고 한다. vv가 암호학적으로 강한 키의 집합에 속하는지 판별하자.

입력

첫째 줄에는 입력에 있는 테스트 케이스의 수를 나타내는 양의 정수 TT가 주어진다. TT는 5를 넘지 않는다. 그다음에 테스트 케이스의 설명이 이어진다.

각 테스트 케이스는 세 줄로 이루어진다. 첫째 줄에는 양의 정수 nn이 주어진다 (1≤n≤50 0001 \le n \le 50\,000). 둘째 줄에는 nn개의 수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤10121 \le a_i \le 10^{12}). 셋째 줄에는 암호학적으로 강한 키의 집합에 속하는지 확인해야 하는 수 vv가 주어진다 (1≤v≤10121 \le v \le 10^{12}).

출력

각 테스트 케이스마다 vv가 암호학적으로 강한 키의 집합에 속하면 YES를, 그렇지 않으면 NO를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2
    2
    45 75
    15
    2
    45 75
    9
    
    예상 출력
    YES
    NO