#include <bits/stdc++.h>
using namespace std;
char c[2010][2010];
int n, m;
bool good(int i, int j, int x, int y, int l) {
  if (i == x || i == x + l) {
    return y <= j && j <= y + l;
  } else if (j == y || j == y + l) {
    return x <= i && i <= x + l;
  }
  return false;
}
bool tryIt(int x, int y, int l) {
  if (x < 0 || y < 0 || x + l >= n || y + l >= m) {
    return false;
  }
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++) {
      if (c[i][j] == 'w') {
        if (!good(i, j, x, y, l)) {
          return false;
        }
      }
    }
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++) {
      if (c[i][j] != 'w') {
        if (good(i, j, x, y, l)) c[i][j] = '+';
      }
    }
  for (int i = 0; i < (n); i++) printf("%s\n", c[i]);
  return true;
}
int main() {
  scanf("%d%d", &(n), &(m));
  for (int i = 0; i < (n); i++) scanf("%s", c[i]);
  int xmn = 2010, xmx = -1, ymn = 2010, ymx = -1;
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++) {
      if (c[i][j] != 'w') continue;
      xmn = min(xmn, i);
      xmx = max(xmx, i);
      ymn = min(ymn, j);
      ymx = max(ymx, j);
    }
  int l = max(xmx - xmn, ymx - ymn);
  if (l == xmx - xmn) {
    for (int j = 0; j < (m); j++)
      for (int i = 0; i < (n); i++) {
        if (c[i][j] != 'w' || i == xmx || i == xmn) continue;
        if (!tryIt(xmn, j - l, l) && !tryIt(xmn, j, l)) {
          puts("-1");
        }
        return 0;
      }
    if (!tryIt(xmn, min(ymn, m - l - 1), l)) {
      puts("-1");
    }
  } else {
    for (int i = 0; i < (n); i++)
      for (int j = 0; j < (m); j++) {
        if (c[i][j] != 'w' || j == ymx || j == ymn) continue;
        if (!tryIt(i - l, ymn, l) && !tryIt(i, ymn, l)) {
          puts("-1");
        }
        return 0;
      }
    if (!tryIt(min(xmn, n - l - 1), ymn, l)) {
      puts("-1");
    }
  }
  return 0;
}
