#include <bits/stdc++.h>
using namespace std;
int i, j, k, m, n;
char h[1005][1005], v[1005][1005];
int ans[1005][1005];
void out(bool yes) {
  if (yes) {
    cout << "YES" << endl;
    for (i = 0; i < m; i++) {
      for (j = 0; j < n; j++) {
        printf("%d%c", ans[i][j], j == n - 1 ? '\n' : ' ');
      }
    }
  } else {
    cout << "NO" << endl;
  }
  exit(0);
}
int main() {
  scanf("%d%d%d\n", &m, &n, &k);
  for (i = 0; i < m; i++) {
    gets(h[i]);
    if (i < m - 1) gets(v[i]);
  }
  if (k == 1) {
    for (i = 0; i < m; i++)
      for (j = 0; j < n; j++) ans[i][j] = 1;
    int good = 0, all = 0;
    for (i = 0; i < m; i++)
      for (j = 0; j < n - 1; j++) {
        if (h[i][j] == 'E') good++;
        all++;
      }
    for (i = 0; i < m - 1; i++)
      for (j = 0; j < n; j++) {
        if (v[i][j] == 'E') good++;
        all++;
      }
    out(4 * good >= 3 * all);
  }
  if (m <= n) {
    for (i = 0; i < m; i++) {
      ans[i][0] = 1;
      for (j = 1; j < n; j++)
        if (h[i][j - 1] == 'E')
          ans[i][j] = ans[i][j - 1];
        else
          ans[i][j] = 3 - ans[i][j - 1];
      int good = 0, bad = 0;
      if (i > 0) {
        for (j = 0; j < n; j++) {
          if (v[i - 1][j] == 'E' && ans[i][j] == ans[i - 1][j]) good++;
          if (v[i - 1][j] == 'E' && ans[i][j] != ans[i - 1][j]) bad++;
          if (v[i - 1][j] == 'N' && ans[i][j] != ans[i - 1][j]) good++;
          if (v[i - 1][j] == 'N' && ans[i][j] == ans[i - 1][j]) bad++;
        }
        if (good < bad) {
          for (j = 0; j < n; j++) ans[i][j] = 3 - ans[i][j];
        }
      }
    }
  } else {
    for (j = 0; j < n; j++) {
      ans[0][j] = 1;
      for (i = 1; i < m; i++)
        if (v[i - 1][j] == 'E')
          ans[i][j] = ans[i - 1][j];
        else
          ans[i][j] = 3 - ans[i - 1][j];
      int good = 0, bad = 0;
      if (j > 0) {
        for (i = 0; i < m; i++) {
          if (h[i][j - 1] == 'E' && ans[i][j] == ans[i][j - 1]) good++;
          if (h[i][j - 1] == 'E' && ans[i][j] != ans[i][j - 1]) bad++;
          if (h[i][j - 1] == 'N' && ans[i][j] != ans[i][j - 1]) good++;
          if (h[i][j - 1] == 'N' && ans[i][j] == ans[i][j - 1]) bad++;
        }
        if (good < bad) {
          for (i = 0; i < m; i++) ans[i][j] = 3 - ans[i][j];
        }
      }
    }
  }
  out(true);
  return 0;
}
