#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y;
};
vector<node> q;
int n, m, sum[2020][2020];
char g[2020][2020];
void init() {
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++)
      if (g[i][j] == 'w') q.push_back((node){i, j});
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++)
      if (g[i][j] == 'w') sum[i][j] = 1;
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++)
      if (j - 1 >= 0) sum[i][j] = sum[i][j - 1] + sum[i][j];
  for (int i = 0; i < (m); i++)
    for (int j = 0; j < (n); j++)
      if (j - 1 >= 0) sum[j][i] = sum[j - 1][i] + sum[j][i];
}
bool cmpx(node a, node b) { return a.x < b.x; }
bool cmpy(node a, node b) { return a.y < b.y; }
int getlen() {
  int res = -1;
  sort(q.begin(), q.end(), cmpx);
  res = max(res, abs(q[0].x - q[q.size() - 1].x) + 1);
  sort(q.begin(), q.end(), cmpy);
  res = max(res, abs(q[0].y - q[q.size() - 1].y) + 1);
  return res;
}
int getarea(int x1, int y1, int x2, int y2) {
  if (x1 > x2 || y1 > y2) return 0;
  int res = sum[x2][y2];
  if (x1 - 1 >= 0) res -= sum[x1 - 1][y2];
  if (y1 - 1 >= 0) res -= sum[x2][y1 - 1];
  if (x1 - 1 >= 0 && y1 - 1 >= 0) res += sum[x1 - 1][y1 - 1];
  return res;
}
bool check(int x, int y, int len) {
  int x2 = x - len + 1;
  int y2 = y - len + 1;
  int in = getarea(x2 + 1, y2 + 1, x - 1, y - 1);
  int out = getarea(0, 0, n - 1, m - 1) - getarea(x2, y2, x, y);
  if (in || out)
    return false;
  else
    return true;
}
void filling(int x, int y, int x2, int y2) {
  for (int i = x; i <= x2; i++)
    for (int j = y; j <= y2; j++)
      if (i == x || i == x2 || j == y || j == y2)
        g[i][j] = (g[i][j] == '.') ? '+' : 'w';
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < (n); i++) scanf("%s", g[i]);
  init();
  int len = getlen();
  bool flg = 0;
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (m); j++)
      if (i + 1 >= len && j + 1 >= len) {
        if (flg) break;
        if (check(i, j, len)) {
          flg = true;
          filling(i - len + 1, j - len + 1, i, j);
          break;
        }
      }
  if (flg)
    for (int i = 0; i < (n); i++) printf("%s\n", g[i]);
  else
    printf("-1\n");
  return 0;
}
