#include<bits/stdc++.h>

using namespace std;
typedef long long ll;
const int N=3010;
int T,n,Q;
int a[N],b[N];
int maxa[N][N],maxb[N][N];

int main(){
	freopen("match.in","r",stdin);
	freopen("match.out","w",stdout);
	scanf("%d%d",&T,&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	for(int i=1;i<=n;i++) scanf("%d",&b[i]);
	for(int i=1;i<=n;i++){
		int maxx=a[i];
		for(int j=i;j<=n;j++){
			maxx=max(maxx,a[j]);
			maxa[i][j]=maxx;
		}
	}
	for(int i=1;i<=n;i++){
		int maxx=b[i];
		for(int j=i;j<=n;j++){
			maxx=max(maxx,b[j]);
			maxb[i][j]=maxx;
		}
	}
	scanf("%d",&Q);
	while(Q--){
		int l,r;
		ll ans=0;
		scanf("%d%d",&l,&r);
		for(int p=l;p<=r;p++)
			for(int q=p;q<=r;q++){
				ans=(ans+(ll)maxa[p][q]*maxb[p][q]);
			}
		printf("%lld\n",ans);
	}
	return 0;
}