#include <bits/stdc++.h>
using namespace std;
int h, w, k, e, tmp, matrix[1000][1000];
string s;
vector<string> ver, hor;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int i, j;
  cin >> h >> w >> k;
  for (i = 0; i < 2 * h - 1; ++i) {
    cin >> s;
    for (j = 0; j < s.size(); ++j)
      if (s[j] == 'E') ++e;
    if (i % 2)
      ver.push_back(s);
    else
      hor.push_back(s);
  }
  if (k >= 2) {
    if (w >= h) {
      for (i = 0; i < h; ++i) {
        for (j = 0; j < w; ++j) {
          if (!j)
            matrix[i][j] = 1;
          else if (hor[i][j - 1] == 'E')
            matrix[i][j] = matrix[i][j - 1];
          else
            matrix[i][j] = 3 - matrix[i][j - 1];
        }
        if (!i) continue;
        tmp = 0;
        for (j = 0; j < w; ++j) {
          if (ver[i - 1][j] == 'E' && matrix[i - 1][j] == matrix[i][j]) ++tmp;
          if (ver[i - 1][j] == 'N' && matrix[i - 1][j] != matrix[i][j]) ++tmp;
        }
        if (2 * tmp < w)
          for (j = 0; j < w; ++j) matrix[i][j] = 3 - matrix[i][j];
      }
    } else {
      for (i = 0; i < w; ++i) {
        for (j = 0; j < h; ++j) {
          if (!j)
            matrix[j][i] = 1;
          else if (ver[j - 1][i] == 'E')
            matrix[j][i] = matrix[j - 1][i];
          else
            matrix[j][i] = 3 - matrix[j - 1][i];
        }
        if (!i) continue;
        tmp = 0;
        for (j = 0; j < h; ++j) {
          if (hor[j][i - 1] == 'E' && matrix[j][i - 1] == matrix[j][i]) ++tmp;
          if (hor[j][i - 1] == 'N' && matrix[j][i - 1] != matrix[j][i]) ++tmp;
        }
        if (2 * tmp < h)
          for (j = 0; j < h; ++j) matrix[j][i] = 3 - matrix[j][i];
      }
    }
  }
  if (k == 1) {
    for (i = 0; i < h; ++i)
      for (j = 0; j < w; ++j) matrix[i][j] = 1;
    if (4 * e < 3 * (2 * w * h - w - h)) return cout << "NO\n", 0;
  }
  cout << "YES\n";
  for (i = 0; i < h; ++i) {
    for (j = 0; j < w; ++j) cout << matrix[i][j] << ' ';
    cout << '\n';
  }
  return 0;
}
