#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int a[303][303],maxn[9][9][301][301],n,m;
void initRmq()
{
int i,j,x,y;
for(i=0;i<n;i++) for(j=0;j<m;j++) maxn[0][0][i][j]=a[i][j];
for(i=0;(1<<i)<n;i++) for(j=0;(1<<j)<m;j++) for(x=0;x+(1<<i)<=n;x++) for(y=0;y+(1<<j)<=m;y++) if(i || j)
{
if(i) maxn[i][j][x][y]=max(maxn[i-1][j][x][y],maxn[i-1][j][x+(1<<(i-1))][y]);
else maxn[i][j][x][y]=max(maxn[i][j-1][x][y],maxn[i][j-1][x][y+(1<<(j-1))]);
}
}
inline int rmq(int x1,int y1,int x2,int y2)
{
int i=log(x2-x1+1)/log(2),j=log(y2-y1+1)/log(2);
return max(max(maxn[i][j][x1][y1],maxn[i][j][x2-(1<<i)+1][y1]),max(maxn[i][j][x1][y2-(1<<j)+1],maxn[i][j][x2-(1<<i)+1][y2-(1<<j)+1]));
}
int main()
{
//ios::sync_with_stdio(false);
while(scanf("%d %d",&n,&m)==2)
{
int i,j,x1,y1,x2,y2,ans,q;
for(i=0;i<n;i++) for(j=0;j<m;j++) scanf("%d",&a[i][j]);//cin>>a[i][j];
initRmq();
scanf("%d",&q);//cin>>q;
for(i=0;i<q;i++)
{
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);//cin>>x1>>y1>>x2>>y2;
x1--;y1--;x2--;y2--;
printf("%d ",ans=rmq(x1,y1,x2,y2));//cout<<rmq(x1,y1,x2,y2)<<" ";
if(a[x1][y1]==ans || a[x1][y2]==ans || a[x2][y1]==ans || a[x2][y2]==ans) puts("yes");
else puts("no");
}
}
return 0;
}