순회공연

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

요약
각 질의 [l, r]에서 i<j를 골라 t(a+1)이 A_i*A_j의 양의 배수가 되는 삼각형 횟수 t의 최솟값을 구한다.
난이도

어려움10점 중 8점

유형
수학, 정수론, 그리디, 구현
정답자
아직 제출이 없습니다

문제

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

  • 왼손으로는 완성하는 데에 aa초가 걸리는 원을 반복해 그린다.
  • 오른손으로는 처음에 11초간 손인사를 한 뒤 완성에 A_i×A_jA\_i \times A\_j초가 걸리는 삼각형을 반복해 그린다.
  • 완성과 반복 사이에는 조금의 멈춤도 없으며, 공연은 두 도형이 정확히 동일한 시점에 완성되는 순간 종료된다.

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

입력

첫 번째 줄에 정수 N,Q,aN, Q, a가 차례대로 주어진다. (1≤N,Q≤105;(1 \le N, Q \le 10^5; 1≤a≤30)1 \le a \le 30)

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

세 번째 줄부터 QQ개의 줄에 걸쳐 각 줄마다 두 정수 l,rl, r이 공백으로 구분되어 주어진다. (1≤l<r≤N)(1 \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