부분 수열 합 쿼리
시간 제한2초메모리 제한256 MB
배열과 정수 m(20 이하)이 주어질 때, 각 질의 구간 [l, r]에서 합이 m으로 나누어떨어지는 부분수열의 개수를 10^9+7로 나눈 나머지로 구합니다.
문제
정수 개로 이루어진 배열 와 정수 이 주어진다. 질의 개에 답해야 한다. 번째 질의는 정수 쌍 로 주어진다. 각 질의마다 를 만족하고, 합 가 으로 나누어떨어지는 부분 수열 의 개수를 구한다. 달리 말하면, 부분 배열 의 부분 수열 중 원소의 합이 의 배수인 것의 개수를 구한다.
입력
첫 줄에 정수 과 이 주어진다 (, ).
둘째 줄에 정수 가 개 주어진다 ().
셋째 줄에 질의의 개수 가 주어진다 ().
이어서 개의 줄에 각각 정수 와 가 주어진다 ().
출력
개의 줄을 출력한다. 번째 줄에는 번째 질의의 답을 입력과 같은 순서로 출력한다. 답은 로 나눈 나머지를 출력한다.