#include <bits/stdc++.h>
using namespace std;
int n, m, LIM;
int grid[1100][1100];
int edge[1100][1100][2];
void prin(int id) {
  int i, j;
  if (id == 0) {
    printf("NO\n");
    return;
  } else
    printf("YES\n");
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) {
      if (j) printf(" ");
      printf("%d", grid[i][j] + 1);
    }
    printf("\n");
  }
}
char in[1010];
int main() {
  int Kay, i, val, now, j, k;
  scanf("%d %d %d", &n, &m, &Kay);
  LIM = 0;
  int one = 0;
  for (i = 0; i < n; i++) {
    scanf("%s", in);
    LIM += strlen(in);
    for (j = 0; j < m - 1; j++) {
      if (in[j] == 'E') edge[i][j][0] = 1;
      one += edge[i][j][0];
    }
    if (i != n - 1) {
      scanf("%s", in);
      LIM += strlen(in);
      for (j = 0; j < m; j++) {
        if (in[j] == 'E') edge[i][j][1] = 1;
        one += edge[i][j][1];
      }
    }
  }
  if (Kay == 1) {
    if ((4 * one) >= (3 * LIM))
      prin(1);
    else
      prin(0);
    return 0;
  }
  if (m >= n) {
    for (i = 0; i < n; i++) {
      grid[i][0] = 0;
      for (j = 1; j < m; j++) {
        if (edge[i][j - 1][0])
          grid[i][j] = grid[i][j - 1];
        else
          grid[i][j] = 1 - grid[i][j - 1];
      }
      if (i) {
        int cnt = 0;
        for (j = 0; j < m; j++) {
          if (grid[i][j] == grid[i - 1][j] && edge[i - 1][j][1] == 1) cnt++;
          if (grid[i][j] != grid[i - 1][j] && edge[i - 1][j][1] == 0) cnt++;
        }
        if ((cnt * 2) < (m)) {
          for (j = 0; j < m; j++) grid[i][j] = 1 - grid[i][j];
        }
      }
    }
  } else {
    for (j = 0; j < m; j++) {
      grid[0][j] = 0;
      for (i = 1; i < n; i++) {
        if (edge[i - 1][j][1])
          grid[i][j] = grid[i - 1][j];
        else
          grid[i][j] = 1 - grid[i - 1][j];
      }
      if (j) {
        int cnt = 0;
        for (i = 0; i < n; i++) {
          if (grid[i][j] == grid[i][j - 1] && edge[i][j - 1][0] == 1) cnt++;
          if (grid[i][j] != grid[i][j - 1] && edge[i][j - 1][0] == 0) cnt++;
        }
        if ((cnt * 2) < (n)) {
          for (i = 0; i < n; i++) grid[i][j] = 1 - grid[i][j];
        }
      }
    }
  }
  prin(1);
  return 0;
}
