종이 쌓기
시간 제한2초메모리 제한1024 MB
각 질의 구간의 숫자를 위쪽에 붙이거나 아래쪽에 붙이거나 버려서 만든 수 중 A 이상 B 이하인 경우의 수를 구합니다.
문제
Farmer John이 종이 장()에 숫자를 적었다. 각 에 대해 번째 종이에는 숫자 ()가 적혀 있다.
소들에게는 좋아하는 정수 와 ()가 있고, 소들은 개의 질의()에 답을 얻고자 한다. 번째 질의에서 소들은 종이 번째부터 번째까지() 왼쪽에서 오른쪽으로 차례로 지나가며, 처음에는 빈 더미를 유지한다. 각 종이마다 더미의 맨 위에 올리거나, 맨 아래에 놓거나, 아무것도 하지 않는다. 과정이 끝나면 더미를 위에서 아래로 읽어 정수를 만든다. 가능한 가지 선택 전부에 대해, 읽은 정수가 구간에 들어가는 경우의 수를 세고, 그 값을 로 나눈 나머지를 출력한다.
입력
첫째 줄에 세 정수 , , 가 공백으로 구분되어 주어진다.
둘째 줄에 개의 숫자 이 공백으로 구분되어 주어진다.
셋째 줄에 질의의 개수 가 주어진다.
이어지는 개의 줄에는 각각 두 정수 와 가 공백으로 구분되어 주어진다.
출력
각 질의마다 답을 한 줄에 출력한다.