길이가 $N$인 수열 $A_1, A_2, \ldots, A_N$과 정수 $K$가 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.
l r: $l \le i \le j \le r$이면서 $(A_i + A_{i+1} + \ldots + A_j) \bmod K = 0$인 가장 긴 연속 부분 수열의 길이를 출력한다.- 조건을 만족하는 부분 수열이 존재하지 않는 경우 길이는 $0$이다.
입력
첫째 줄에 수열의 크기 $N$ $(1 \le N \le 100{,}000)$과 $K$ $(2 \le K \le 1{,}000{,}000)$이 주어진다.
둘째 줄에는 $A_1, A_2, \ldots, A_N$이 주어진다. $(1 \le A_i \le 1{,}000{,}000{,}000)$
셋째 줄에는 쿼리의 개수 $M$ $(1 \le M \le 100{,}000)$이 주어진다.
넷째 줄부터 $M$개의 줄에는 쿼리 $l, r$이 한 줄에 하나씩 주어진다. $(1 \le l \le r \le n)$
출력
각각의 쿼리마다 정답을 한 줄에 하나씩 출력한다.
Sample
Input
5 10 2 3 5 2 3 2 1 3 2 4
Output
3 3