만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

나머지가 같아지도록

시간 제한1초메모리 제한1024 MB

요약
정수 N개의 집합 A와 정수 K가 주어질 때, S(A)의 모든 원소 s에 대해 s^K가 S(A^M)에 속하는 가장 작은 양의 정수 M을 구합니다.
난이도

어려움10점 중 8점

유형
정수론, 수학
정답자
아직 제출이 없습니다

문제

나머지와 나누어떨어짐의 정의를 양의 정수뿐만 아니라 정수 전체로 확장하면 다음과 같다.

  • 정수 aa를 양의 정수 qq로 나눈 나머지 rr은, a=qx+ra=qx+r을 만족하는 정수 xx가 존재하고 0≤r<q0\le r<q인 값으로 정의한다. 이를 a≡r(modq)a\equiv r\pmod q로 나타낸다.
  • 정수 aa가 양의 정수 qq로 나누어떨어진다는 것은 aa를 qq로 나눈 나머지가 00이라는 뜻이다.

정수 집합 AA가 주어진다. 양의 정수 MM에 대하여 AMA^M을 다음과 같이 정의한다.

  • S(A):={q∈Z+∣∃r≠0:∀x∈A, x≡r(modq)∧gcd⁡(q,x)=1}S(A) := \{ q \in \mathbb{Z}^{+} \mid \exists r \ne 0 : \forall x \in A,\ x \equiv r \pmod q \land \gcd(q, x) = 1 \}
  • AM:={sgn⁡(x)⋅∣x∣M∣x∈A}A^M := \{ \operatorname{sgn}(x) \cdot |x|^M \mid x \in A \}

단, sgn⁡(x):=x/∣x∣\operatorname{sgn}(x) := x/|x| (x≠0x\ne 0)이고 sgn⁡(0)=0\operatorname{sgn}(0) = 0인 부호함수이다.

쉽게 말해, S(A)S(A)는 AA의 모든 원소를 qq로 나눈 나머지가 같은 0이 아닌 값이 되고, AA의 모든 원소가 qq와 서로소인 양의 정수 qq들의 집합이다. AMA^M은 AA의 각 원소와 부호가 같고 절댓값이 MM제곱인 원소들로 이루어진 집합이다.

서로 다른 NN개의 원소로 이루어진 정수 집합 AA와 음이 아닌 정수 KK가 주어진다. 다음 조건을 만족하는 최소의 양의 정수 MM을 구하라.

  • ∀s∈S(A), sK∈S(AM)\forall s\in S(A),\ s^K\in S(A^M)

입력

첫 번째 줄에 양의 정수 NN (2≤N≤1052\le N\le 10^5)과 KK (1≤K≤10171\le K\le 10^{17})가 공백으로 구분되어 주어진다.

두 번째 줄에 서로 다른 정수 AiA_i (−1018≤Ai≤1018-10^{18}\le A_i\le 10^{18}) NN개가 오름차순으로 공백으로 구분되어 주어진다.

출력

조건을 만족하는 최소의 양의 정수 MM을 109+710^9+7로 나눈 나머지를 출력한다. 답이 매우 커질 수 있기 때문이다.

조건을 만족하는 MM이 존재하지 않으면 MM 대신 -1을 출력한다.

예제5

  1. 예제 1

    입력
    2 4
    3 5
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2 5
    3 5
    
    예상 출력
    4
    
  3. 예제 3

    입력
    2 1
    -1 1
    
    예상 출력
    1
    
  4. 예제 4

    입력
    2 2
    -1 1
    
    예상 출력
    -1
    
  5. 예제 5

    입력
    3 100000000000000000
    -1000000000000000000 -371681469282041354 570796326794896615
    
    예상 출력
    487180136