#include <bits/stdc++.h>
using namespace std;
long long ar[2005][1005];
bool eq[2005][1005];
int main() {
  long long tc, test, i, j, k, h, l, w, n, c = 0, wrong;
  char we[1005];
  scanf("%lld %lld %lld", &h, &w, &k);
  for (i = 1; i < h + h; i++) {
    scanf(" %s", we);
    if (i % 1)
      l = w - 1;
    else
      l = w;
    for (j = 0; j < l; j++) {
      if (we[j] == 'E') {
        eq[i][j + 1] = 1;
        if (c > 0)
          c = 2;
        else
          c = 1;
      } else {
        eq[i][j + 1] = 0;
        if (c > 0)
          c = 2;
        else
          c = 1;
      }
    }
  }
  if (k == 1) {
    wrong = c = 0;
    for (i = 1; i < h + h; i++) {
      l = (i % 2) ? w - 1 : w;
      c += l;
      for (j = 1; j < l; j++) {
        if (!eq[i][j]) wrong++;
      }
    }
    if (wrong * 4 > c)
      printf("NO\n");
    else {
      printf("YES\n");
      for (i = 1; i < h + h; i += 2) {
        for (j = 1; j <= w; j++) {
          if (j != 1) printf(" ");
          printf("1");
        }
        printf("\n");
      }
    }
    return 0;
  }
  if (w >= h) {
    for (i = 1; i < h + h; i += 2) {
      ar[i][1] = 0;
      for (j = 1; j < w; j++) {
        if (eq[i][j])
          ar[i][j + 1] = ar[i][j];
        else
          ar[i][j + 1] = (ar[i][j] + 1) % 2;
      }
      if (i == 1) {
        continue;
      }
      for (j = 1, wrong = 0; j <= w; j++) {
        if (eq[i - 1][j] && ar[i][j] != ar[i - 2][j]) {
          wrong++;
        } else if (!eq[i - 1][j] && ar[i][j] == ar[i - 2][j]) {
          wrong++;
        }
      }
      if (wrong > w / 2) {
        for (j = 1; j <= w; j++) {
          ar[i][j] = (ar[i][j] + 1) % 2;
        }
      }
    }
  } else {
    for (j = 1; j <= w; j++) {
      ar[1][j] = 0;
      for (i = 2; i < h + h; i += 2) {
        if (eq[i][j])
          ar[i + 1][j] = ar[i - 1][j];
        else
          ar[i + 1][j] = (ar[i - 1][j] + 1) % 2;
      }
      if (j == 1) {
        continue;
      }
      for (i = 1, wrong = 0; i < h + h; i += 2) {
        if (eq[i][j - 1] && ar[i][j] != ar[i][j - 1]) {
          wrong++;
        } else if (!eq[i][j - 1] && ar[i][j] == ar[i][j - 1]) {
          wrong++;
        }
      }
      if (wrong > h / 2) {
        for (i = 1; i < h + h; i += 2) {
          ar[i][j] = (ar[i][j] + 1) % 2;
        }
      }
    }
  }
  printf("YES\n");
  for (i = 1; i < h + h; i += 2) {
    for (j = 1; j <= w; j++) {
      if (j != 1) printf(" ");
      printf("%lld", ar[i][j] + 1);
    }
    printf("\n");
  }
  return 0;
}
