모티가 식료품을 사다
시간 제한6초메모리 제한1024 MB
상품 n개의 가격이 주어질 때, 각 질의마다 k개를 순서대로 고른 경우 중 총합이 l 이상 r 이하인 경우의 수를 786433으로 나눈 나머지로 구합니다.
문제
릭과 모티가 가게에 왔다. 짐작했겠지만 릭은 모티에게 여러 가지 과제를 내주는 것을 좋아하고, 이번에도 예외가 아니다. 모티는 상품 개를 사는 방법의 수를 세야 한다. 가게에는 상품이 총 개 있고, 번째 상품의 가격은 이다. 릭은 두 수 과 을 모티에게 총 번 준다. 모티는 매번 구입한 상품의 총 가격이 이상 이하가 되도록 상품 개를 고르는 방법이 몇 가지인지 답해야 한다.
구매는 인덱스 집합 로 나타낸다. 여기서 는 번째로 산 상품의 번호이다. 두 구매 와 는 인 인덱스 가 있으면 서로 다른 구매로 본다. 따라서 와 은 서로 다른 두 구매이다. 같은 상품을 여러 번 살 수도 있다.
입력
첫 줄에 세 정수 , , 가 주어진다 (, ). 둘째 줄에는 상품 가격 가 개 주어진다 (). 이어지는 개의 줄에는 각각 정수 과 이 주어진다 ().
출력
릭이 낸 개의 질문에 대한 답을 한 줄에 하나씩 출력한다. 답이 매우 클 수 있으므로 으로 나눈 나머지를 출력한다.