asize = ncols+1
call mpi_put( buf(1,1), nrows, MPI_INTEGER, left, asize, &
& nrows, MPI_INTEGER, win, ierr )
asize = 0
call mpi_put( buf(1,ncols), nrows, MPI_INTEGER, right, asize, &
& nrows, MPI_INTEGER, win, ierr )
asize = ncols+1
call mpi_put( buf(1,1), nrows, MPI_INTEGER, left, asize, &
& nrows, MPI_INTEGER, win, ierr )
asize = 0
call mpi_put( buf(1,ncols), nrows, MPI_INTEGER, right, asize, &
& nrows, MPI_INTEGER, win, ierr )