#include<bits/stdc++.h>
using namespace std;
long long n,m,q,i,j,x,t,a1,a2,b1,b2,ans,lg2a,lg2b,qwq,awa,amx,amn,angtv,apstv,bmx,bmn;
long long lg2[114514];
long long mxa[114514][1+9+1+9+8+1+0],mna[114514][1+9+1+9+8+1+0],ngtva[114514][1+9+1+9+8+1+0],pstva[114514][1+9+1+9+8+1+0],mxb[114514][1+9+1+9+8+1+0],mnb[114514][1+9+1+9+8+1+0];
int main()
{
cin>>n>>m>>q;
for(i=1;i<=n;i++)
{
cin>>x;
mxa[i][0]=mna[i][0]=x;
ngtva[i][0]=(x<0?x:-0x3f3f3f3f);
pstva[i][0]=(x>=0?x:0x3f3f3f3f);
}
for(i=1;i<=m;i++)
{
cin>>x;
mxb[i][0]=mnb[i][0]=x;
}
for(i=2;i<=max(n,m);i++) lg2[i]=lg2[i>>1]+1;
for(i=1;i<=lg2[n];i++)
{
for(j=1;j+(1<<i)-1<=n;j++)
{
t=j+(1<<(i-1));
mxa[j][i]=max(mxa[j][i-1],mxa[t][i-1]);
ngtva[j][i]=max(ngtva[j][i-1],ngtva[t][i-1]);
mna[j][i]=min(mna[j][i-1],mna[t][i-1]);
pstva[j][i]=min(pstva[j][i-1],pstva[t][i-1]);
}
}
for(i=1;i<=lg2[m];i++)
{
for(j=1;j+(1<<i)-1<=m;j++)
{
t=j+(1<<(i-1));
mxb[j][i]=max(mxb[j][i-1],mxb[t][i-1]);
mnb[j][i]=min(mnb[j][i-1],mnb[t][i-1]);
}
}
while(q--)
{
cin>>a1>>a2>>b1>>b2;
ans=-0x3f3f3f3f;
lg2a=lg2[a2-a1+1];
lg2b=lg2[b2-b1+1];
qwq=a2-(1<<lg2a)+1;
awa=b2-(1<<lg2b)+1;
amx=max(mxa[a1][lg2a],mxa[qwq][lg2a]);
amn=min(mna[a1][lg2a],mna[qwq][lg2a]);
angtv=max(ngtva[a1][lg2a],ngtva[qwq][lg2a]);
apstv=min(pstva[a1][lg2a],pstva[qwq][lg2a]);
bmx=max(mxb[b1][lg2b],mxb[awa][lg2b]);
bmn=min(mnb[b1][lg2b],mnb[awa][lg2b]);
ans=max(ans,amx*(amx>=0?bmn:bmx));
ans=max(ans,amn*(amn>=0?bmn:bmx));
if(angtv!=-0x3f3f3f3f) ans=max(ans,angtv*(angtv>=0?bmn:bmx));
if(apstv!=0x3f3f3f3f) ans=max(ans,apstv*(apstv>=0?bmn:bmx));
cout<<ans<<endl;
}
return 0;
}
大佬帮帮蒟蒻吧
