#include <stdio.h>
#define abs(x) ((x)<0?(-(x)):(x))
int a[205][205], b[205][205], m, n, K=8;
int dx[9]={ 1, -1, 0, 0, 1, 1, -1, -1};
int dy[9]={ 0, 0, -1, 1, 1, -1, 1, -1};
int w [9]={ 100, 100, 100, 100, 1, 1, 1, 1};
void check(int i,
int j, int p)
{
int l, x, y, k=0, kk=0, s=0, min=255, max=0, t, id, d[9], nd[9], kd=0;
for (l=0; l<4; l++)
{
x=i+dx[l];
y=j+dy[l];
if (x>=0 && x<m && y>=0 && y<n)
{
t=b[x][y];
if (t!=-1)
{
s+=t;
if (t>max) max=t;
if
(t<min) min=t;
k++;
for (id=0; id<kd && abs(d[id]/nd[id]-t)>=11; id++) ;
if (id==kd) d[kd]=t, nd[kd++]=1;
else d[id]+=t, nd[id]++;
}
kk++;
}
}
if (k>=kk-p)
{
if (k!=0)
{
for (id=0; id<kd && k-nd[id]>1; id++) ;
if (id<kd && k>2) b[i][
j]=(d[id]+d[id]+nd[id])/(nd[id]+nd[id]);
else b[i][j]=s/k;
}
else b[i][j]=128;
}
if (k>1 && max-min<=5) b[i][j]=(s+s+k)/(k+k);//(max+min)>>1;
if (b[i]
[j]!=-1)
for (l=0; l<4; l++)
{
x=i+dx[l];
y=j+dy[l];
if (x>=0 && x<m && y>=0 && y<n && b[x][y]==-1)
check(x,y,p);
}
}
int main(void)
{
int i, j, l, q, tn, nt, x, y, p, st, s, k, min, max, t, id, d[9], nd[9], kd, min1, max1, min2, max2;
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
for (tn=0; tn<nt; tn++)
{
scanf("%d%d%d", &q, &m ,&n
);
for (i=0; i<m; i++)
for (j=0; j<n; j++)
for (st=0; st<5; st++)
{
for (i=0; i<m; i++)
for (j=0; j<n; j++
)
{
max=0, min=255, kd=0, p=255;
min1=255, max1=0, min2=255, max2=0;
for (k=s=l=0; l<4; l++)
{
x=i+dx[l];
y=j+dy[l];
if (x>=0 && x<m && y>=0 && y<n)
{
t=a[x][y];
if (abs(t-a[i][j])<p) p=abs(t-a[i]
[j]);
s+=t*w[l];
if (t>max && l<4) max=t;
if (t<min && l<4) min=t;
if (l<2)
{
if (t>max1 && l<4) max1=t;
if (t<min1 && l<4) min1=t;
}
else
{
if (t>max2 && l<4) max2=t;
if (t<min2 && l<4) min2=t;
}
k+=w[l];
for (id=0; id<kd && abs
(d[id]/nd[id]-t)>=7; id++) ;
if (id==kd) d[kd]=t, nd[kd++]=1;
else d[id]+=t, nd[id]++;
}
}
if (p>7)
{
if (k>1 && max-min<=41) b[i][j]=(s+s+k)/(k+k);
else
{
for (id=0; id<kd && k-nd[id]*w[
0]>w[0]; id++) ;
if (id<kd && k>2*w[0]) b[i][j]=(d[id]+d[id]+nd[id])/(nd[id]+nd[id]);
else
if (abs((s+s+k)/(k+k)-a[i][j])<=65) b[i][j]=a[i][j];
else b[i][j]=-1;
}
}
else
b[i][j]=a[i][j];
}
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (b[i][j]==-1) check(i,j,0);
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (b[i][j]==-1) check(i,j,
1);
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (b[i][j]==-1) check(i,j,2);
for (i=0; i<m; i++)
for (j=0; j<n; j++)
if (b[i][j]==-1) check(i,j,5);
for (i=0; i<m; i++)
for (j=0; j<n; j++)
a[i][j]=b[i][j];
}
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
}
}
return 0;
}