#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>

int f = 1;

void func(int N, char s[N+1], int t[N]){
    if(f == 1){
    for(int i = 1; i < N-1; i++){
        if(t[i] == 1){
            if(s[i] == 'o'){
                t[i+1] = t[i-1];
            }else{
                t[i+1] = 1 - t[i-1];
            }
        }else{
            if(s[i] == 'x'){
                t[i+1] = t[i-1];
            }else{
                t[i+1] = 1 - t[i-1];
            }
        }
    }

    if(t[0] == 1 && t[N-1] == 1){
        if(s[0] == 'o' && s[N-1] == 'o'){
            if(t[N-2] == t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }else if(s[0] == 'o' && s[N-1] == 'x'){
            if(t[N-2] != t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'o'){
            if(t[N-2] == t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'x'){
            if(t[N-2] != t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }
    }else if(t[0] == 1 && t[N-1] == 0){
        if(s[0] == 'o' && s[N-1] == 'o'){
            if(t[N-2] != t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }else if(s[0] == 'o' && s[N-1] == 'x'){
            if(t[N-2] == t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'o'){
            if(t[N-2] != t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'x'){
            if(t[N-2] == t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }
    }else if(t[0] == 0 && t[N-1] == 1){
        if(s[0] == 'o' && s[N-1] == 'o'){
            if(t[N-2] == t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }else if(s[0] == 'o' && s[N-1] == 'x'){
            if(t[N-2] != t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'o'){
            if(t[N-2] == t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'x'){
            if(t[N-2] != t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }
    }else if(t[0] == 0 && t[N-1] == 0){
        if(s[0] == 'o' && s[N-1] == 'o'){
            if(t[N-2] != t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }else if(s[0] == 'o' && s[N-1] == 'x'){
            if(t[N-2] == t[0] && t[N-1] != t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'o'){
            if(t[N-2] != t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }else if(s[0] == 'x' && s[N-1] == 'x'){
            if(t[N-2] == t[0] && t[N-1] == t[1]){
                f = 0;
            }
        }
    }

    if(f == 0){
        for(int i = 0; i < N; i++){
            if(t[i] == 1){
                printf("S");
            }else{
                printf("W");
            }
        }
        printf("\n");
    }
    }
}

int main(void){

    int N;

    scanf("%d", &N);

    char s[N+1];

    scanf("%s", s);

    int t[N];

    for(int i = 0; i < N; i++){
        t[i] = -1;
    }
    t[0] = 1, t[1] = 1;

    func(N, s, t);

    for(int i = 0; i < N; i++){
        t[i] = -1;
    }
    t[0] = 1, t[1] = 0;

    func(N, s, t);

    for(int i = 0; i < N; i++){
        t[i] = -1;
    }
    t[0] = 0, t[1] = 1;

    func(N, s, t);

    for(int i = 0; i < N; i++){
        t[i] = -1;
    }
    t[0] = 0, t[1] = 0;

    func(N, s, t);

    if(f == 1){
        printf("-1\n");
    }

    return 0;
}

Measured memory_bytes: 2120