#include <bits/stdc++.h>
using namespace std;
const int N = 1050;
struct node {
  string s;
} a[N];
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i].s;
  bool flag = false;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < a[i].s.size(); j++) {
      if (a[i].s[j] == 'O' && a[i].s[j + 1] == 'O') {
        flag = true;
        a[i].s[j] = '+';
        a[i].s[j + 1] = '+';
        break;
      }
    }
    if (flag) break;
  }
  if (flag) {
    cout << "YES" << endl;
    for (int i = 0; i < n; i++) cout << a[i].s << endl;
  } else
    cout << "NO" << endl;
  return 0;
}
