#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MOD=1000000007;
#define INF 1LL<<30
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define all(x) (x).begin(),(x).end()

int n;
string s,ans;

bool judge(){
    bool ok1=false,ok2=false;

    if(ans[n-1]=='S'){
        if(s[n-1]=='o' && ans[n-2]==ans[0]) ok1=true;
        else if(s[n-1]=='x' && ans[n-2]!=ans[0]) ok1=true;
    }
    else{
        if(s[n-1]=='o' && ans[n-2]!=ans[0]) ok1=true;
        else if(s[n-1]=='x' && ans[n-2]==ans[0]) ok1=true;
    } 

    if(ans[0]=='S'){
        if(s[0]=='o' && ans[n-1]==ans[1]) ok2=true;
        else if(s[0]=='x' && ans[n-1]!=ans[1]) ok2=true;
    }
    else{
        if(s[0]=='o' && ans[n-1]!=ans[1]) ok2=true;
        else if(s[0]=='x' && ans[n-1]==ans[1]) ok2=true;
    } 

    if(ok1 && ok2) return true;
    else return false;
}

int main(){
    cin>>n>>s;
    
    ans="SS";
    for(int i=1;i<n;i++){
        if(i==n-1 && judge()){
            cout<<ans<<endl;
            return 0;
        }
        else{
            if(ans[i]=='S'){
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
                else{
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
            }
            else{
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
                else{
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
            }
        }
    }

    ans="SW";
    for(int i=1;i<n;i++){
        if(i==n-1 && judge()){
            cout<<ans<<endl;
            return 0;
        }
        else{
            if(ans[i]=='S'){
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
                else{
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
            }
            else{
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
                else{
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
            }
        }
    }

    ans="WS";
    for(int i=1;i<n;i++){
        if(i==n-1 && judge()){
            cout<<ans<<endl;
            return 0;
        }
        else{
            if(ans[i]=='S'){
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
                else{
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
            }
            else{
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
                else{
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
            }
        }
    }

    ans="WW";
    for(int i=1;i<n;i++){
        if(i==n-1 && judge()){
            cout<<ans<<endl;
            return 0;
        }
        else{
            if(ans[i]=='S'){
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
                else{
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
            }
            else{
                if(s[i]=='o'){
                    if(ans[i-1]=='S') ans+='W';
                    else ans+='S';
                } 
                else{
                    if(ans[i-1]=='S') ans+='S';
                    else ans+='W';
                } 
            }
        }
    }

    cout<<-1<<endl;
}


Measured memory_bytes: 640