#include <bits/stdc++.h>
using namespace std;
const int M = 2000 + 10;
string s[M];
int a[M][M];
char row[M][M];
char col[M][M];
int main() {
  int h, w, k;
  cin >> h >> w >> k;
  for (int i = 0; i < 2 * h - 1; i++) {
    cin >> s[i];
    if (i % 2 == 0) {
      for (int j = 0; j < s[i].length(); j++) {
        row[i / 2][j] = s[i][j];
      }
    } else {
      for (int j = 0; j < s[i].length(); j++) {
        col[i / 2][j] = s[i][j];
      }
    }
  }
  if (k == 1) {
    int ne = 0;
    int nn = 0;
    for (int i = 0; i < 2 * h - 1; i++) {
      for (int j = 0; j < s[i].length(); j++) {
        if (s[i][j] == 'E') {
          ne++;
        } else {
          nn++;
        }
      }
    }
    if (4 * ne >= 3 * (nn + ne)) {
      cout << "YES" << endl;
      for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) {
          cout << "1 ";
        }
        cout << endl;
      }
    } else {
      cout << "NO" << endl;
    }
  } else {
    if (w >= h) {
      for (int i = 0; i < h; i++) {
        if (i == 0) {
          for (int j = 0; j < w; j++) {
            if (j == 0) {
              a[i][j] = 1;
            } else {
              if (row[i][j - 1] == 'E') {
                a[i][j] = a[i][j - 1];
              } else {
                a[i][j] = 3 - a[i][j - 1];
              }
            }
          }
        } else {
          for (int j = 0; j < w; j++) {
            if (j == 0) {
              a[i][j] = 1;
            } else {
              if (row[i][j - 1] == 'E') {
                a[i][j] = a[i][j - 1];
              } else {
                a[i][j] = 3 - a[i][j - 1];
              }
            }
          }
          int satisfied = 0;
          for (int j = 0; j < w; j++) {
            if (col[i - 1][j] == 'E') {
              if (a[i][j] == a[i - 1][j]) {
                satisfied++;
              }
            } else {
              if (a[i][j] != a[i - 1][j]) {
                satisfied++;
              }
            }
          }
          if (satisfied * 2 >= w) {
            ;
          } else {
            for (int j = 0; j < w; j++) {
              a[i][j] = 3 - a[i][j];
            }
          }
        }
      }
    } else {
      for (int j = 0; j < w; j++) {
        if (j == 0) {
          for (int i = 0; i < h; i++) {
            if (i == 0) {
              a[i][j] = 1;
            } else {
              if (col[i - 1][j] == 'E') {
                a[i][j] = a[i - 1][j];
              } else {
                a[i][j] = 3 - a[i - 1][j];
              }
            }
          }
        } else {
          for (int i = 0; i < h; i++) {
            if (i == 0) {
              a[i][j] = 1;
            } else {
              if (col[i - 1][j] == 'E') {
                a[i][j] = a[i - 1][j];
              } else {
                a[i][j] = 3 - a[i - 1][j];
              }
            }
          }
          int satisfied = 0;
          for (int i = 0; i < h; i++) {
            if (row[i][j - 1] == 'E') {
              if (a[i][j] == a[i][j - 1]) {
                satisfied++;
              }
            } else {
              if (a[i][j] != a[i][j - 1]) {
                satisfied++;
              }
            }
          }
          if (satisfied * 2 >= h) {
            ;
          } else {
            for (int i = 0; i < h; i++) {
              a[i][j] = 3 - a[i][j];
            }
          }
        }
      }
    }
    cout << "YES" << endl;
    for (int i = 0; i < h; i++) {
      for (int j = 0; j < w; j++) {
        cout << a[i][j] << " ";
      }
      cout << endl;
    }
    cout << endl;
  }
  return 0;
}
