#include <bits/stdc++.h>
using namespace std;
const int LIMIT = 1e2;
int n, m, h, cols[LIMIT], rows[LIMIT], p[LIMIT][LIMIT], a[LIMIT][LIMIT];
int rowsNum[LIMIT];
int main() {
  scanf("%d %d %d", &n, &m, &h);
  for (int j = 0; j < m; j++) {
    scanf("%d", &cols[j]);
  }
  for (int i = 0; i < n; i++) {
    scanf("%d", &rows[i]);
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      scanf("%d", &p[i][j]);
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      if (p[i][j]) {
        a[i][j] = rows[i];
        rowsNum[i]++;
      }
    }
  }
  for (int j = 0; j < m; j++) {
    for (int i = 0; i < n; i++) {
      if (p[i][j]) {
        if (a[i][j] > cols[j]) {
          a[i][j] = cols[j];
          rowsNum[i]--;
        }
      }
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      printf("%d ", a[i][j]);
    }
    printf("\n");
  }
  return 0;
}
