#include"cstdio"
#include"iostream"
#include"cstdlib"
using namespace std;
int x=0,y=0,n=0,maxn=0,minn=0,ans=0;
int scan[1002][1002];
int xmax[1002][1002],ymax[1002][1002];
int xmin[1002][1002],ymin[1002][1002];
int main()
{
for (int i=1;i<=1001;i++)
{
for (int j=1;j<=1001;j++)
{
scan[i][j]=0;
xmax[i][j]=0;
xmin[i][j]=0;
ymax[i][j]=0;
ymin[i][j]=0;
}
}
scanf("%d%d%d",&x,&y,&n);
for (int i=1;i<=x;i++)
{
for (int j=1;j<=y;j++)
{
scanf("%d",&scan[i][j]);
}
}
for (int i=1;i<=(x-n+1);i++)
{
for (int j=1;j<=y;j++)
{
maxn=0;
minn=1145141919;
for (int p=1;p<=n;p++)
{
xmax[i][j]=max(maxn,scan[(i+p-1)][j]);
xmin[i][j]=min(minn,scan[(i+p-1)][j]);
}
}
}
for (int i=1;i<=(x-n+1);i++)
{
for (int j=1;j<=(y-n+1);j++)
{
maxn=0;
minn=1145141919;
for (int p=1;p<=n;p++)
{
ymax[i][j]=max(maxn,xmax[i][(j+p-1)]);
ymin[i][j]=min(minn,xmin[i][(j+p-1)]);
}
}
}
for (int i=1;i<=(x-n+1);i++)
{
for (int j=1;j<=(y-n+1);j++)
{
ans=max(ans,(ymax[i][j]-ymin[i][j]));
}
}
printf("%d",ans);
return 0;
}
```cpp