#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;
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;
if ( PosicaoValida( m, n, i-1, j-1 ) ) soma += A[i-1][j-1];
if ( PosicaoValida( m, n, i-1, j ) ) soma += A[i-1][j];
if ( PosicaoValida( m, n, i-1, j+1 ) ) soma += A[i-1][j+1];
if ( PosicaoValida( m, n, i, j-1 ) ) soma += A[i][j-1];
if ( PosicaoValida( m, n, i, j ) ) soma += A[i][j];
if ( PosicaoValida( m, n, i, j+1 ) ) soma += A[i][j+1];
if ( PosicaoValida( m, n, i+1, j-1 ) ) soma += A[i+1][j-1];
if ( PosicaoValida( m, n, i+1, j ) ) soma += A[i+1][j];
if ( PosicaoValida( m, n, i+1, j+1 ) ) soma += A[i+1][j+1];
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 );
}