#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const double eps = 1e-6;
const int MAXN = 100 + 10;
const int MAXM = 2e6 + 10;
const long long mod = 1e9 + 7;
long long a[MAXN], b[MAXN];
long long ans[MAXN][MAXN];
long long row[MAXN], col[MAXN];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  memset((ans), (0), sizeof(ans));
  memset((row), (0), sizeof(row));
  memset((col), (0), sizeof(col));
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < m; i++) cin >> b[i];
  long long sum1 = 0;
  for (int i = 0; i < n; i++) {
    ans[i][0] = a[i];
    sum1 ^= a[i];
  }
  sum1 ^= a[0];
  long long sum2 = 0;
  for (int j = m - 1; j >= 1; j--) {
    ans[0][j] = b[j];
    sum2 ^= b[j];
  }
  ans[0][0] = sum1 ^ b[0];
  sum2 ^= ans[0][0];
  if (sum2 != a[0])
    puts("NO");
  else {
    puts("YES");
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) printf("%lld ", ans[i][j]);
      printf("\n");
    }
  }
  return 0;
}
