program plantatzie;
var b:array[00..501,0..501,0..4] of longint;
f,g:text;
i,j,y,z,x,k,m,n,mx,p,rez:longint;
function max(x1,x2,x3,x4:longint):longint;
begin
if x1>x2 then x2:=x1;
if x3>x4 then x4:=x3;
if x2>x4 then max:=x2 else max:=x4;
end;
begin
assign(f,'plantatie.in'); reset(f);
assign(g,'plantatie.out'); rewrite(g);
readln(f,n,m);
for i:=1 to n do
for j:=1 to n do begin
read(f,x); b[i,j,0]:=x;
end;
x:=1; y:=0;
while x<n do begin inc(y); x:=x*2; end;
for k:=1 to y do
for i:=1 to n do
for j:=1 to n do begin
x:=1 shl (k-1);
b[i,j,k]:=max(b[i+x,j,k-1],b[i,j+x,k-1],b[i+x,j+x,k-1],b[i,j,k-1]);
end;
for i:=1 to m do begin
readln(f,x,y,z); mx:=1; p:=0;
while mx<=z do begin inc(p); mx:=mx*2; end;
mx:=mx div 2; dec(p);
rez:=max(b[x,y,p],b[x+z-mx,y,p],b[x,y+z-mx,p],b[x+z-mx,y+z-mx,p]);
writeln(g,rez);
end;
close(f); close(g);
end.