#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e3 + 14;
int n, m, k;
char c[maxn][maxn], ans[maxn][maxn];
int main() {
  ios::sync_with_stdio(0), cin.tie(0);
  cin >> n >> m >> k;
  for (int i = 0; i < 2 * n - 1; i++) cin >> c[i];
  if (k == 1) {
    if (count(c[0], c[2 * n - 1], 'E') * 4 >= 3 * (m * (n - 1) + (m - 1) * n)) {
      cout << "YES\n";
      for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) cout << 1 << ' ';
        cout << '\n';
      }
    } else
      cout << "NO\n";
    return 0;
  }
  cout << "YES\n";
  if (n < m) {
    for (int i = 0; i < n; i++) {
      for (int j = 1; j < m; j++)
        ans[i][j] = ans[i][j - 1] ^ (c[i * 2][j - 1] == 'N');
      if (i) {
        int cnt = 0;
        for (int j = 0; j < m; j++)
          cnt += (c[i * 2 - 1][j] == 'E') == (ans[i - 1][j] == ans[i][j]);
        if (cnt * 2 < m)
          for (int j = 0; j < m; j++) ans[i][j] ^= 1;
      }
    }
  } else {
    for (int i = 0; i < m; i++) {
      for (int j = 1; j < n; j++)
        ans[j][i] = ans[j - 1][i] ^ (c[j * 2 - 1][i] == 'N');
      if (i) {
        int cnt = 0;
        for (int j = 0; j < n; j++)
          cnt += (c[j * 2][i - 1] == 'E') == (ans[j][i - 1] == ans[j][i]);
        if (cnt * 2 < n)
          for (int j = 0; j < n; j++) ans[j][i] ^= 1;
      }
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) cout << char(ans[i][j] + '1') << ' ';
    cout << '\n';
  }
}
