#include <bits/stdc++.h>
using namespace std;
const int max_n = 1005;
int n, m, k, now;
char s[max_n], a[max_n][max_n], b[max_n][max_n];
int ans[max_n][max_n];
inline int gcd(int a, int b) {
  if (!b)
    return a;
  else
    return gcd(b, a % b);
}
int main() {
  scanf("%d%d%d\n", &n, &m, &k);
  for (int i = 1; i <= 2 * n - 1; ++i) {
    gets(s);
    if (i % 2 != 0) {
      now = i / 2 + 1;
      for (int j = 1; j < m; ++j) a[now][j] = s[j - 1];
    } else {
      now = i / 2;
      for (int j = 1; j <= m; ++j) b[now][j] = s[j - 1];
    }
  }
  if (k == 1) {
    int cnt = 0;
    for (int i = 1; i <= n; ++i)
      for (int j = 1; j < m; ++j)
        if (a[i][j] == 'E') cnt++;
    for (int i = 1; i < n; ++i)
      for (int j = 1; j <= m; ++j)
        if (b[i][j] == 'E') cnt++;
    int t1 = 4;
    int t2 = n * (m - 1) + m * (n - 1);
    int t = gcd(t1, t2);
    int tt = t1 * t2 / t;
    int tmp1 = 3 * (tt / t1);
    int tmp2 = cnt * (tt / t2);
    if (tmp1 > tmp2)
      printf("NO\n");
    else {
      printf("YES\n");
      for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= m; ++j) printf("%d%c", 1, " \n"[j == m]);
    }
    return 0;
  }
  if (n > m) {
    for (int i = 1; i <= m; ++i) {
      ans[1][i] = 0;
      for (int j = 1; j < n; ++j)
        if (b[j][i] == 'E')
          ans[j + 1][i] = ans[j][i];
        else
          ans[j + 1][i] = ans[j][i] ^ 1;
    }
    for (int i = 1; i < m; ++i) {
      int cnt = 0;
      for (int j = 1; j <= n; ++j)
        if (a[j][i] == 'E') {
          if (ans[j][i] != ans[j][i + 1]) cnt++;
        } else {
          if (ans[j][i] == ans[j][i + 1]) cnt++;
        }
      if (cnt > n / 2)
        for (int j = 1; j <= n; ++j) ans[j][i + 1] ^= 1;
    }
  } else {
    for (int i = 1; i <= n; ++i) {
      ans[i][1] = 0;
      for (int j = 1; j < m; ++j)
        if (a[i][j] == 'E')
          ans[i][j + 1] = ans[i][j];
        else
          ans[i][j + 1] = ans[i][j] ^ 1;
    }
    for (int i = 1; i < n; ++i) {
      int cnt = 0;
      for (int j = 1; j <= m; ++j)
        if (b[i][j] == 'E') {
          if (ans[i][j] != ans[i + 1][j]) cnt++;
        } else {
          if (ans[i][j] == ans[i + 1][j]) cnt++;
        }
      if (cnt > m / 2)
        for (int j = 1; j <= m; ++j) ans[i + 1][j] ^= 1;
    }
  }
  printf("YES\n");
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j) printf("%d%c", ans[i][j] + 1, " \n"[j == m]);
}
