#include <bits/stdc++.h>
using namespace std;
const long long inff = 0x3f3f3f3f3f3f3f3f;
int n, m;
char a[508][508];
int dx[4] = {0, 0, 1, -1}, dy[4] = {1, -1, 0, 0};
int main() {
  cin.tie(0);
  scanf("%d", &n), scanf("%d", &m);
  for (int i(1); i <= (n); ++i) {
    scanf("%s", a[i]);
  }
  int tt = 1;
  for (int i(1); i <= (n); ++i) {
    for (int j(0); j <= (m - 1); ++j) {
      if (a[i][j] == 'S') {
        for (int k(0); k <= (3); ++k) {
          if (i + dx[k] >= 1 && i + dx[k] <= n && j + dy[k] >= 0 &&
              j + dy[k] < m) {
            if (a[i + dx[k]][j + dy[k]] == 'W') {
              tt = 0;
              break;
            } else if (a[i + dx[k]][j + dy[k]] == '.') {
              a[i + dx[k]][j + dy[k]] = 'D';
            }
          }
        }
      }
    }
  }
  if (tt) {
    cout << "Yes" << endl;
    for (int i(1); i <= (n); ++i) {
      printf("%s\n", a[i]);
    }
  } else {
    cout << "No" << endl;
  }
  return 0;
}
