나머지가 같아지도록
시간 제한1초메모리 제한1024 MB
정수 N개의 집합 A와 정수 K가 주어질 때, S(A)의 모든 원소 s에 대해 s^K가 S(A^M)에 속하는 가장 작은 양의 정수 M을 구합니다.
문제
나머지와 나누어떨어짐의 정의를 양의 정수뿐만 아니라 정수 전체로 확장하면 다음과 같다.
- 정수 를 양의 정수 로 나눈 나머지 은, 을 만족하는 정수 가 존재하고 인 값으로 정의한다. 이를 로 나타낸다.
- 정수 가 양의 정수 로 나누어떨어진다는 것은 를 로 나눈 나머지가 이라는 뜻이다.
정수 집합 가 주어진다. 양의 정수 에 대하여 을 다음과 같이 정의한다.
단, ()이고 인 부호함수이다.
쉽게 말해, 는 의 모든 원소를 로 나눈 나머지가 같은 0이 아닌 값이 되고, 의 모든 원소가 와 서로소인 양의 정수 들의 집합이다. 은 의 각 원소와 부호가 같고 절댓값이 제곱인 원소들로 이루어진 집합이다.
서로 다른 개의 원소로 이루어진 정수 집합 와 음이 아닌 정수 가 주어진다. 다음 조건을 만족하는 최소의 양의 정수 을 구하라.
입력
첫 번째 줄에 양의 정수 ()과 ()가 공백으로 구분되어 주어진다.
두 번째 줄에 서로 다른 정수 () 개가 오름차순으로 공백으로 구분되어 주어진다.
출력
조건을 만족하는 최소의 양의 정수 을 로 나눈 나머지를 출력한다. 답이 매우 커질 수 있기 때문이다.
조건을 만족하는 이 존재하지 않으면 대신 -1을 출력한다.