만드는 중입니다

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

서로소 질의

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

요약
배열과 질의 (l, r, x)가 주어지면 구간 [l, r]에서 a_p와 x의 최대공약수가 1인 가장 큰 인덱스 p를 구합니다. 그런 p가 없으면 -1을 출력합니다.
난이도

보통10점 중 7점

유형
정수론, 이분 탐색, 배열
정답자
아직 제출이 없습니다

문제

양의 정수로 이루어진 수열 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다. qq개의 질의에 답해야 한다. 각 질의는 세 정수 (l,r,x)(l, r, x)로 주어진다. 각 질의에 대해 l≤p≤rl \leq p \leq r을 만족하고 apa_p가 xx와 서로소인 가장 큰 pp를 구한다. 그런 pp가 없으면 없다고 판정한다.

입력

첫 줄에 두 정수 nn과 qq가 주어진다 (1≤n,q≤100 0001 \leq n, q \leq 100\,000).

둘째 줄에 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤100 0001 \leq a_i \leq 100\,000).

이어지는 qq개의 줄에는 각각 세 정수 lil_i, rir_i, xix_i가 주어진다 (1≤li≤ri≤n1 \leq l_i \leq r_i \leq n, 1≤xi≤100 0001 \leq x_i \leq 100\,000).

출력

각 질의의 답을 한 줄에 하나씩 출력한다. 그런 pp가 없으면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    5 4
    1 2 3 4 6
    1 5 2
    1 1 1
    4 5 2
    3 5 3
    
    예상 출력
    3
    1
    -1
    4