#include<bits/stdc++.h>
using namespace std;
#define siz(x) (int)(x).size()
#define int long long
typedef pair<int,int> Pii;
const int N=2.5e5+5;
int n,Q;
int a[N],b[N];
__int128 Mod;
inline int qp(int a,int b,__int128 res=1){
    while(b){
        if(b&1)res=res*a;
        a=a*a;b>>=1;
    }return res;
}
namespace Sub1{
    int pre[N],Pre[N];
    inline void main()
    {
        Mod=qp(2,64);
        for(int i=1;i<=n;i++)
            pre[i]=pre[i-1]+a[i]*a[i],Pre[i]=Pre[i-1]+i*a[i]*a[i];
        cin>>Q;
        while(Q--)
        {
            int l,r;cin>>l>>r;
            cout<<(int)((Pre[r]-Pre[l-1])-(l-1)*(pre[r]-pre[l-1])+Mod)<<'\n';
        }
    }
}

signed main()
{
    freopen("match.in","r",stdin);
    freopen("match.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int T;
    
    cin>>T>>n;
    
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    bool flag=1;
    for(int i=1;i<=n;i++)if(a[i]!=i)flag=0;
    for(int i=1;i<=n;i++)if(b[i]!=i)flag=0;
    if(flag)return Sub1::main(),0;
    cin>>Q;
    while(Q--)
    {
        int l,r;cin>>l>>r;
        int ans=0;
        for(int i=l;i<=r;i++)
        {
            int Maxa=0,Maxb=0;
            for(int j=i;j<=r;j++)
                Maxa=max(Maxa,a[j]),Maxb=max(Maxb,b[j]),ans+=Maxa*Maxb;
        }
        cout<<ans<<'\n';
    }
    return 0;
}