#include<bits/stdc++.h>
using namespace std;
long long n, m, q, a[100005], b[100005], i, j, sta1[100005][55], sta2[100005][55], sta3[100005][55], sta4[100005][55], stb1[100005][55], stb2[100005][55], l1, r1, l2, r2, ans;
long long amax, amin, bmax, bmin, _amax, _amin, s1, s2;
int main() {
cin>>n>>m>>q;
for(i=1; i<=n; i++) {
cin>>a[i];
sta1[i][0]=sta2[i][0]=a[i];
if(a[i]>=0) {
sta3[i][0]=a[i];
sta4[i][0]=LONG_LONG_MIN;
} else {
sta3[i][0]=LONG_LONG_MAX;
sta4[i][0]=a[i];
}
}
for(i=1; i<=m; i++) {
cin>>b[i];
stb1[i][0]=stb2[i][0]=b[i];
}
for(j=1; j<=log2(n); j++) {
for(i=1; i<=n-(long long)(pow(2,j))+1; i++) {
sta1[i][j]=max(sta1[i][j-1],sta1[i+(long long)(pow(2,j-1))][j-1]);
sta2[i][j]=min(sta2[i][j-1],sta2[i+(long long)(pow(2,j-1))][j-1]);
sta3[i][j]=min(sta3[i][j-1],sta3[i+(long long)(pow(2,j-1))][j-1]);
sta4[i][j]=max(sta4[i][j-1],sta4[i+(long long)(pow(2,j-1))][j-1]);
}
}
for(j=1; j<=log2(m); j++) {
for(i=1; i<=m-(long long)(pow(2,j))+1; i++) {
stb1[i][j]=max(stb1[i][j-1],stb1[i+(long long)(pow(2,j-1))][j-1]);
stb2[i][j]=min(stb2[i][j-1],stb2[i+(long long)(pow(2,j-1))][j-1]);
}
}
while(q--) {
ans=LONG_LONG_MIN;
cin>>l1>>r1>>l2>>r2;
s1=max((int)(log2(r1-l1)),0);
s2=max((int)(log2(r2-l2)),0);
amax=max(sta1[l1][s1], sta1[r1-(long long)pow(2,s1)+1][s1]);
amin=min(sta2[l1][s1], sta2[r1-(long long)pow(2,s1)+1][s1]);
_amax=min(sta3[l1][s1], sta3[r1-(long long)pow(2,s1)+1][s1]);
_amin=max(sta4[l1][s1], sta4[r1-(long long)pow(2,s1)+1][s1]);
bmax=max(stb1[l2][s2], stb1[r2-(long long)pow(2,s2)+1][s2]);
bmin=min(stb2[l2][s2], stb2[r2-(long long)pow(2,s2)+1][s2]);
ans=max(ans,amax*bmin);
ans=max(ans,amin*bmax);
ans=max(ans,_amax*bmin);
ans=max(ans,_amin*bmax);
cout<<ans<<endl;
}
return 0;
}
小样例能过,大样例不行