#include <stdio.h>
#include <assert.h>

#define MAX 10

void LeMatrizComMoldura( double Mat[][MAX+2], int m, int n, double moldura ) {
  int i,j;
  for ( i = 0; i < m+2; i++)
    for ( j = 0; j < n+2; j++)
      if ( 1 <= i && i <= m && 1 <= j && j <= n )
	scanf("%lf", &Mat[i][j]);
      else
	Mat[i][j] = moldura;
  return;
}

void ImprimeMatrizComMoldura( double Mat[][MAX+2], int m, int n ) {
  int i,j;
  for ( i = 1; i <= m; i++) {
    for ( j = 1; j <= n; j++)
      printf( "%7.3g ", Mat[i][j] );
    printf( "\n" );
  }
  return;
}

int main()
{
  double A[MAX+2][MAX+2], M[MAX+2][MAX+2];
  int m, n;
  int i, j, di, dj;
  double soma;

  scanf("%d %d", &m, &n);
  assert( m <= MAX && n <= MAX );

  LeMatrizComMoldura( A, m, n, 0 );

  for (i = 1; i <= m; i++)
    for (j = 1; j <= n; j++) {
      soma = 0;

      for ( di = -1; di <= +1; di++ )
	for ( dj = -1; dj <= +1; dj++ )
	  soma += A[i+di][j+dj];

      M[i][j] = soma;
    }

  ImprimeMatrizComMoldura( M, m, n );

  return 0;
}