#include <stdio.h>
#include <assert.h>
#define MAX 10
void LeMatriz( double Mat[][MAX], int m, int n ) {
int i,j;
for ( i = 0; i < m; i++)
for ( j = 0; j < n; j++)
scanf("%lf", &Mat[i][j]);
return;
}
void ImprimeMatriz( double Mat[][MAX], int m, int n ) {
int i,j;
for ( i = 0; i < m; i++) {
for ( j = 0; j < n; j++)
printf( "%7.3g ", Mat[i][j] );
printf( "\n" );
}
return;
}
int PosicaoValida( int m, int n, int i, int j );
int main()
{
double A[MAX][MAX], M[MAX][MAX];
int m, n;
int i, j, di, dj;
double soma;
scanf("%d %d", &m, &n);
assert( m <= MAX && n <= MAX );
LeMatriz( A, m, n );
for (i = 0; i < m; i++)
for (j = 0; j < n; j++) {
soma = 0;
for ( di = -1; di <= +1; di++ )
for ( dj = -1; dj <= +1; dj++ )
if ( PosicaoValida( m, n, i+di, j+dj ) )
soma += A[i+di][j+dj];
M[i][j] = soma;
}
ImprimeMatriz( M, m, n );
return 0;
}
int PosicaoValida( int m, int n, int i, int j ) {
return ( 0 <= i && i < m && 0 <= j && j < n );
}