#include<fstream>
#define DN 100005
#include<iostream>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int n,m,a[505][505],r[15][505][505],d[505],l,c,k;
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
fin>>a[i][j];
r[0][i][j]=a[i][j];
}
for(int h=1;h<=10;h++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(i+(1<<h)-1<=n&&j+(1<<h)-1<=n)
r[h][i][j]=max(max(r[h-1][i][j],r[h-1][i+(1<<(h-1))][j]),max(r[h-1][i+(1<<(h-1))][j+(1<<(h-1))],r[h-1][i][j+(1<<(h-1))]));
for(int h=1;h<=10;h++)
for(int i=1;i<=n;i++)
if((1<<h)<=i)
d[i]=h;
for(int h=1;h<=m;h++)
{
int i,j;
fin>>i>>j>>k;
fout<<max(max(r[d[k]][i][j],r[d[k]][i+k-(1<<d[k])][j]),max(r[d[k]][i][j+k-(1<<d[k])],r[d[k]][i+k-(1<<d[k])][j+k-(1<<d[k])]))<<'\n';
}
}