using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Collections;
public class Remainder
{

  static long div = 1000000007;
  static char[] anima ;
  static string S;
  static int N;

    static public void Main()
    {
      N = int.Parse(Console.ReadLine());
      S = Console.ReadLine();//.Split(' ').Select(x => int.Parse(x)).ToArray();
      anima = new char[N];
      
      
      if(Search('S','S')){
        Console.WriteLine(String.Join("",anima));
      }else if (Search('S','W')){
        Console.WriteLine(String.Join("",anima));
      }else if (Search('W','S')){
        Console.WriteLine(String.Join("",anima));
      }else if (Search('W','W')){
        Console.WriteLine(String.Join("",anima));
      }else{
        Console.WriteLine((-1));
      }
      
      
      
    }
  
    //第一引数：1番目の動物の種類,第2引数：N-1番目の動物の種類
    static bool Search(char s,char l){
      var now  = 0;
      var left = N-1;
      anima[0] =    s;
      anima[left] = l;
      for(int i = 0; i < N-2 ;i++){
        if(left == N){
          left = 0;
        }
        if(S[now] == 'o'){
          if(anima[now] == 'S'){
            if(anima[left] == 'S'){
              now++;
              left++;
              anima[now] = 'S';
            }else if(anima[left] == 'W'){
              now++;
              left++;
              anima[now] = 'W';
            }
          }else if(anima[now] == 'W'){
            if(anima[left] == 'S'){
              now++;
              left++;
              anima[now] = 'W';
            }else if(anima[left] == 'W'){
              now++;
              left++;
              anima[now] = 'S';
            }
          }
        }else if(S[now] == 'x'){
          
          if(anima[now] == 'S'){
            if(anima[left] == 'S'){
              now++;
              left++;
              anima[now] = 'W';
            }else if(anima[left] == 'W'){
              now++;
              left++;
              anima[now] = 'S';
            }
          }else if(anima[now] == 'W'){
            if(anima[left] == 'S'){
              now++;
              left++;
              anima[now] = 'S';
            }else if(anima[left] == 'W'){
              now++;
              left++;
              anima[now] = 'W';
            }
          }
        }
      }
      
      var flag = true;
      
      if(S[N-1] == 'o'){
        if(anima[N-1] == 'S'){
          if(anima[N-2] != anima[0]){
            flag = false;
          }
        }else{
          if(anima[N-2] == anima[0]){
            flag = false;
          }
        }
      }else{
        if(anima[N-1] == 'S'){
          if(anima[N-2] == anima[0]){
            flag = false;
          }
        }else{
          if(anima[N-2] != anima[0]){
            flag = false;
          }
        }
      }
      
      if(S[N-2] == 'o'){
        if(anima[N-2] == 'S'){
          if(anima[N-3] != anima[N-1]){
            flag = false;
          }
        }else{
          if(anima[N-3] == anima[N-1]){
            flag = false;
          }
        }
      }else{
        if(anima[N-2] == 'S'){
          if(anima[N-3] == anima[N-1]){
            flag = false;
          }
        }else{
          if(anima[N-3] != anima[N-1]){
            flag = false;
          }
        }
      } 
      return flag;
    }

}


Measured memory_bytes: 14344