만드는 중입니다

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

순회공연

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

요약
각 구간 [l, r]에서 i<j인 어떤 쌍에 대해 1 + k×A_i×A_j가 a의 배수가 되는 최소 k를 구하고, 가능한 k가 없으면 -1을 구합니다.
난이도

보통10점 중 6점

유형
정수론, 배열, 누적 합
정답자
아직 제출이 없습니다

문제

2033년, 시우는 10년의 고행 끝에 양손으로 서로 다른 도형을 동시에 그리는 달인이 되었다. 시우는 수련 10주년을 기념해 QQ개의 장소에서 순회공연을 하려고 한다. 공연마다 차별성을 주기 위해 길이 NN의 수열 AA를 준비하고, 각 공연에서 주어진 구간 [l,r][l, r] 안의 두 인덱스 ii, jj를 l≤i<j≤rl \le i < j \le r을 만족하도록 고른다. 공연은 다음과 같이 진행한다.

  • 왼손으로는 완성하는 데 aa초가 걸리는 원을 반복해서 그린다.
  • 오른손으로는 먼저 1초 동안 손인사를 한 뒤, 완성하는 데 Ai×AjA_i \times A_j초가 걸리는 삼각형을 반복해서 그린다.
  • 완성과 반복 사이에는 멈춤이 없다. 공연은 두 도형이 정확히 같은 순간에 완성되면 끝난다.

삼각형은 그리기가 매우 힘들어서, 시우는 가능한 한 적은 개수의 삼각형을 그리려고 한다. 단, 삼각형을 하나도 그리지 않고 공연을 마치는 것은 불가능하다.

입력

첫 번째 줄에 정수 NN, QQ, aa가 차례대로 주어진다. (1≤N,Q≤1051 \le N, Q \le 10^5, 1≤a≤301 \le a \le 30)

두 번째 줄에는 수열 AA를 이루는 정수 NN개가 공백으로 구분되어 순서대로 주어진다. (1≤Ai≤1091 \le A_i \le 10^9)

세 번째 줄부터 QQ개의 줄에 걸쳐 각 줄마다 두 정수 ll, rr이 공백으로 구분되어 주어진다. (1≤l<r≤N1 \le l < r \le N)

출력

QQ개의 줄에 걸쳐 각 공연에서 삼각형을 그리는 횟수의 최솟값을 출력한다. 단, 어떤 방법으로도 공연을 유한한 시간 내에 마무리할 수 없다면 −1-1을 출력한다.

예제2

  1. 예제 1

    입력
    5 3 7
    6 4 5 5 6
    4 5
    2 4
    1 4
    
    예상 출력
    3
    1
    1
    
  2. 예제 2

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