#include<bits/stdc++.h>
using namespace std;
long long int n,m,q,l1,l2,r1,r2,minn[10001],maxn[10001],c[8000][8000];
long long int a[10005],b[10005];
inline long long int read()
{
long long int w=1,s=0;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){s=s*10+ch-48;ch=getchar();}
return s*w;
}
int main()
{
//freopen("T2i.txt","r",stdin);
//freopen("T2.txt","w",stdout);
cin>>n>>m>>q;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=m;i++)
cin>>b[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
c[i][j]=a[i]*b[j];
/*for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cout<<c[i][j]<<" ";
cout<<endl;
}*/
int cnt=0;
while(q--)
{
cnt++;
cin>>l1>>r1>>l2>>r2;
long long int minnn;
maxn[cnt]=-1e18;
for(int i=l1;i<=r1;i++)
{
minnn=1e18;
for(int j=l2;j<=r2;j++)
{
minnn=min(minnn,c[i][j]);
}
minn[i]=minnn;
maxn[cnt]=max(maxn[cnt],minn[i]);
}
}
for(int i=1;i<=cnt;i++)
{
cout<<maxn[i]<<endl;
}
}
暴力算法,预估25,实际60?