FFT 알고리즘
시간 제한1.5초메모리 제한512 MB
m과 k가 주어질 때, m에 대한 원시 2^k승근을 하나 찾거나 존재하지 않으면 -1을 출력한다.
문제
차수가 미만인 다항식에 모듈러 연산 환경에서 FFT 알고리즘을 적용하려면, 원시 차 단위근 를 찾아야 한다.
두 정수 과 가 주어졌을 때, 다음 조건을 만족하는 정수 를 찾아야 한다.
- 인 모든 에 대해
이 문제에서는 그러한 를 찾거나, 존재하지 않음을 판별해야 한다. FFT 적용을 염두에 두고 에 합리적인 제한을 두었다. 가 작으면 단순한 다항식 곱셈으로 충분하고, 가 크면 FFT가 1초 이상 걸리기 때문이다(어차피 우리는 경쟁 프로그래머니까).
입력
첫 번째 줄에 두 정수 과 가 주어진다. (, )
출력
조건을 만족하는 를 아무거나 출력한다. 그러한 가 없으면 을 출력한다.