#include <bits/stdc++.h>
using namespace std;
char a[2002][1003] = {0};
char b[1002][1002] = {0};
int main() {
  int h, w, k;
  scanf("%d %d %d", &h, &w, &k);
  if (h <= w)
    for (int i = 0; i < 2 * h - 1; i++) scanf("%s", a[i]);
  else
    for (int i = 0; i < 2 * h - 1; i++) {
      getchar();
      for (int j = 0; j < w - 1 + (i & 1); j++)
        if (!(i & 1))
          scanf("%c", &a[2 * j + 1][i / 2]);
        else
          scanf("%c", &a[2 * j][i / 2]);
    }
  int h1, w1;
  if (h <= w) {
    h1 = h;
    w1 = w;
  } else {
    h1 = w;
    w1 = h;
  }
  if (k == 1) {
    int cnt = 0, total = 0;
    for (int i = 0; i < 2 * h1 - 1; i++) {
      for (int j = 0; j < w1 - 1 + (i & 1); j++) {
        total++;
        if (a[i][j] == 'N') cnt++;
      }
    }
    if (cnt > (total >> 2))
      printf("NO\n");
    else {
      printf("YES\n");
      for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) printf("1 ");
        printf("\n");
      }
    }
  } else {
    printf("YES\n");
    b[0][0] = 1;
    for (int j = 0; j < w1 - 1; j++)
      b[0][j + 1] = (a[0][j] == 'N' ? 3 - b[0][j] : b[0][j]);
    for (int i = 2; i < 2 * h1 - 1; i += 2) {
      int k = i >> 1;
      b[k][0] = 1;
      for (int j = 0; j < w1 - 1; j++)
        b[k][j + 1] = (a[i][j] == 'N' ? 3 - b[k][j] : b[k][j]);
      int cnt = 0;
      for (int j = 0; j < w1; j++)
        if (b[k][j] != b[k - 1][j] && a[i - 1][j] == 'E')
          cnt++;
        else if (b[k][j] == b[k - 1][j] && a[i - 1][j] == 'N')
          cnt++;
      if (cnt > w1 / 2)
        for (int j = 0; j < w1; j++) b[k][j] = 3 - b[k][j];
    }
    if (h <= w) {
      for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) printf("%d ", b[i][j]);
        printf("\n");
      }
    } else {
      for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) printf("%d ", b[j][i]);
        printf("\n");
      }
    }
  }
}
