#include <bits/stdc++.h>
using namespace std;

#define MAXN 100100
#define pb push_back

int n;
string x;
string r;

char opp(char xx)
{
  if (xx == 'S') return 'W';

  return 'S';
}

int main()
{
  cin >> n;
  cin >> x;
  r.pb('S');r.pb('S');
  for (int i = 1; i < n - 1; i++) {
    if ((r[i] == 'S' && x[i] == 'o') || (r[i] == 'W' && x[i] == 'x'))
      r.pb(r[i - 1]);
    else
      r.pb(opp(r[i - 1]));
  }
  if (((r[0] == 'S' && x[0] == 'o') || (r[0] == 'W' && x[0] == 'x')) && r[1] == r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  else if (((r[0] == 'S' && x[0] == 'x') || (r[0] == 'W' && x[0] == 'o')) && r[1] != r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  r = "";
  r.pb('S');r.pb('W');
  for (int i = 1; i < n - 1; i++) {
    if ((r[i] == 'S' && x[i] == 'o') || (r[i] == 'W' && x[i] == 'x'))
      r.pb(r[i - 1]);
    else
      r.pb(opp(r[i - 1]));
  }
  if (((r[0] == 'S' && x[0] == 'o') || (r[0] == 'W' && x[0] == 'x')) && r[1] == r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  else if (((r[0] == 'S' && x[0] == 'x') || (r[0] == 'W' && x[0] == 'o')) && r[1] != r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  r = "";
  r.pb('W');r.pb('S');
  for (int i = 1; i < n - 1; i++) {
    if ((r[i] == 'S' && x[i] == 'o') || (r[i] == 'W' && x[i] == 'x'))
      r.pb(r[i - 1]);
    else
      r.pb(opp(r[i - 1]));
  }
  if (((r[0] == 'S' && x[0] == 'o') || (r[0] == 'W' && x[0] == 'x')) && r[1] == r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  else if (((r[0] == 'S' && x[0] == 'x') || (r[0] == 'W' && x[0] == 'o')) && r[1] != r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  r = "";
  r.pb('W');r.pb('W');
  for (int i = 1; i < n - 1; i++) {
    if ((r[i] == 'S' && x[i] == 'o') || (r[i] == 'W' && x[i] == 'x'))
      r.pb(r[i - 1]);
    else
      r.pb(opp(r[i - 1]));
  }
  if (((r[0] == 'S' && x[0] == 'o') || (r[0] == 'W' && x[0] == 'x')) && r[1] == r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  else if (((r[0] == 'S' && x[0] == 'x') || (r[0] == 'W' && x[0] == 'o')) && r[1] != r[n - 1]) {
    if (((r[n - 1] == 'S' && x[n - 1] == 'o') || (r[n - 1] == 'W' && x[n - 1] == 'x')) && r[0] == r[n - 2]) {
      cout << r << endl;
      return 0;
    }
    else if (((r[n - 1] == 'S' && x[n - 1] == 'x') || (r[n - 1] == 'W' && x[n - 1] == 'o')) && r[0] != r[n - 2]) {
      cout << r << endl;
      return 0;
    }
  }
  cout << -1 << endl;
  return 0;
}


Measured memory_bytes: 640