거대한 수열
시간 제한1초메모리 제한2048 MB
세 배열 a, b, c가 주어질 때, 구간 안의 모든 부분구간에 대해 a의 AND, b의 OR, c의 GCD를 곱한 값의 합을 각 질의마다 2^32로 나눈 나머지로 구합니다.
문제
세 수열 , , 이 주어진다. 구간 의 값은 세 값의 곱이다. 세 값은 각각 의 비트 AND, 의 비트 OR, 의 최대공약수이다.
질의가 개 주어진다. 각 질의는 구간 을 나타내며, 을 만족하는 모든 구간 의 값을 더한 합을 구한다. 답은 로 나눈 나머지로 출력한다.
입력
첫째 줄에 두 정수 , 이 주어진다 (, ).
둘째 줄에는 개의 정수 이 주어진다.
셋째 줄에는 개의 정수 이 주어진다.
넷째 줄에는 개의 정수 이 주어진다. 모든 , , 는 을 만족한다.
이후 개의 줄에는 질의를 나타내는 두 정수 , 이 주어진다 ().
출력
개의 줄을 출력한다. 번째 줄에는 번째 질의의 답을 로 나눈 나머지를 출력한다.