AND vs OR
시간 제한2초메모리 제한1024 MB
각 질의 구간에 속한 모든 연속 부분 수열의 값 중 양수인 것만 골라 더한 결과를 10^9+7로 나눈 나머지로 구합니다.
문제
수열 의 가치는 다음과 같이 정의된다.
- 길이가 이하일 경우 수열의 가치는 이다.
- 길이가 이상일 경우 수열의 가치는 로 정의된다.
연산자는 bitwise and 연산자이고, 연산자는 bitwise or 연산자이다.
정수로 이루어진 수열 이 주어진다.
다음 쿼리를 번 수행하는 프로그램을 작성하라.
- : 수열의 모든 연속 부분 수열 중 가치가 양수인 것들의 합을 구해 출력한다.
입력
첫째 줄에 정수 이 주어진다.
둘째 줄에 정수로 이루어진 수열 이 공백으로 구분되어 주어진다.
셋째 줄에 쿼리의 개수를 나타내는 정수 가 주어진다.
넷째 줄부터 개의 줄에 걸쳐 쿼리를 나타내는 두 정수 , 가 공백으로 구분되어 주어진다.
출력
매 쿼리마다 정답을 한 줄에 하나씩 출력한다.
단, 정답이 매우 커질 수 있으므로 로 나눈 나머지를 출력한다.