#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
vector<char> hor[N], ver[N];
int a[N][N], b[N][N];
int main() {
  int h, w, k, eq = 0;
  cin >> h >> w >> k;
  for (int i = 0; i < 2 * h - 1; i++) {
    if (i % 2 == 0) {
      string s;
      cin >> s;
      for (int j = 0; j < w - 1; j++) {
        hor[i / 2].push_back(s[j]);
        if (s[j] == 'E') eq++;
      }
    } else {
      string s;
      cin >> s;
      for (int j = 0; j < w; j++) {
        ver[j].push_back(s[j]);
        if (s[j] == 'E') eq++;
      }
    }
  }
  if (k == 1) {
    if (eq * 4 >= 3 * (2 * h * w - h - w)) {
      cout << "YES\n";
      for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) cout << 1 << ' ';
        cout << '\n';
      }
    } else
      cout << "NO\n";
    return 0;
  }
  int ans1 = 0;
  for (int i = 0; i < h; i++) {
    a[i][0] = 1;
    for (int j = 1; j < w; j++)
      if (hor[i][j - 1] == 'E')
        a[i][j] = a[i][j - 1];
      else
        a[i][j] = 3 - a[i][j - 1];
    ans1 += w - 1;
    if (i == 0) continue;
    int ted = 0;
    for (int j = 0; j < w; j++)
      if (ver[j][i - 1] == 'E' && a[i][j] == a[i - 1][j])
        ted++;
      else if (ver[j][i - 1] == 'N' && a[i][j] != a[i - 1][j])
        ted++;
    if (ted >= (w + 1) / 2) {
      ans1 += ted;
      continue;
    }
    for (int j = 0; j < w; j++) a[i][j] = 3 - a[i][j];
    ans1 += w - ted;
  }
  int ans2 = 0;
  for (int j = 0; j < w; j++) {
    b[0][j] = 1;
    for (int i = 1; i < h; i++)
      if (ver[j][i - 1] == 'E')
        b[i][j] = b[i - 1][j];
      else
        b[i][j] = 3 - b[i - 1][j];
    ans2 += h - 1;
    if (j == 0) continue;
    int ted = 0;
    for (int i = 0; i < h; i++)
      if (hor[i][j - 1] == 'E' && b[i][j] == b[i][j - 1])
        ted++;
      else if (hor[i][j - 1] == 'N' && b[i][j] != b[i][j - 1])
        ted++;
    if (ted >= (h + 1) / 2) {
      ans2 += ted;
      continue;
    }
    for (int i = 0; i < h; i++) b[i][j] = 3 - b[i][j];
    ans2 += h - ted;
  }
  cout << "YES\n";
  if (ans1 >= ans2)
    for (int i = 0; i < h; i++) {
      for (int j = 0; j < w; j++) cout << a[i][j] << ' ';
      cout << '\n';
    }
  else
    for (int i = 0; i < h; i++) {
      for (int j = 0; j < w; j++) cout << b[i][j] << ' ';
      cout << '\n';
    }
  return 0;
}
