#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
#include<map>
#define ll long long
using namespace std;
const int maxn=100005;
char s[maxn];
int a[maxn];
int n;
int dfs(int x)
{
    if(x==n)
    {
        if(s[x]=='o')
        {
            if(a[x]==1&&(a[1]==1&&a[x-1]==1||a[1]==2&&a[x-1]==2))
            {
                for(int i=1;i<=n;i++)
                {
                    if(a[i]==1) printf("S");
                    else printf("W");
                }
                return 1;
            }
            if(a[x]==2&&(a[1]==1&&a[x-1]==2||a[1]==2&&a[x-1]==1))
            {
                for(int i=1;i<=n;i++)
                {
                    if(a[i]==1) printf("S");
                    else printf("W");
                }
                return 1;
            }
        }
        else
        {
            if(a[x]==1&&(a[1]==1&&a[x-1]==2||a[1]==2&&a[x-1]==1))
            {
                for(int i=1;i<=n;i++)
                {
                    if(a[i]==1) printf("S");
                    else printf("W");
                }
                return 1;
            }
            if(a[x]==2&&(a[1]==1&&a[x-1]==1||a[1]==2&&a[x-1]==2))
            {
                for(int i=1;i<=n;i++)
                {
                    if(a[i]==1) printf("S");
                    else printf("W");
                }
                return 1;
            }
        }
        return 0;
    }
    else if(x==1)
    {
        if(s[x]=='o')
        {
            if(a[x]==1)
            {
                a[n]=a[x+1];
                if(dfs(x+1)) return 1;
                a[n]=0;
            }
            if(a[x]==2)
            {
                if(a[x+1]==2)
                {
                    a[n]=1;
                    if(dfs(x+1)) return 1;
                }
                else
                {
                    a[n]=2;
                    if(dfs(x+1)) return 1;
                }
            }
        }
        else
        {
            if(a[x]==1)
            {
                if(a[x+1]==2)
                {
                    a[n]=1;
                    if(dfs(x+1)) return 1;
                }
                else
                {
                    a[n]=2;
                    if(dfs(x+1)) return 1;
                }
            }
            if(a[x]==2)
            {
                a[n]=a[x+1];
                if(dfs(x+1)) return 1;
                a[n]=0;
            }
        }
        return 0;
    }
    else
    {
        if(s[x]=='o')
        {
            if(a[x]==1)
            {
                a[x+1]=a[x-1];
                if(dfs(x+1)) return 1;
                a[x+1]=0;
            }
            if(a[x]==2)
            {
                if(a[x-1]==2)
                {
                    a[x+1]=1;
                    if(dfs(x+1)) return 1;
                    a[x+1]=0;
                }
                else
                {
                    a[x+1]=2;
                    if(dfs(x+1)) return 1;
                    a[x+1]=0;
                }
            }
        }
        else
        {
            if(a[x]==2)
            {
                a[x+1]=a[x-1];
                if(dfs(x+1)) return 1;
                a[x+1]=0;
            }
            if(a[x]==1)
            {
                if(a[x-1]==2)
                {
                    a[x+1]=1;
                    if(dfs(x+1)) return 1;
                    a[x+1]=0;
                }
                else
                {
                    a[x+1]=2;
                    if(dfs(x+1)) return 1;
                    a[x+1]=0;
                }
            }
        }
        return 0;
    }
    return 0;
}
int main()
{
    scanf("%d",&n);
    scanf("%s",s+1);
    int flag=0;
    a[1]=1;a[2]=1;
    if(dfs(1)) flag=1;
    memset(a,0,sizeof(a));
    if(!flag)
    {
        a[1]=1;a[2]=2;
        if(dfs(1)) flag=1;
        memset(a,0,sizeof(a));
    }
    if(!flag)
    {

        a[2]=1;a[1]=2;//WS
        if(dfs(1)) flag=1;
        memset(a,0,sizeof(a));
    }
    if(!flag)
    {

        a[1]=2;a[2]=2;//WW
        if(dfs(1)) flag=1;
        memset(a,0,sizeof(a));
    }
    if(!flag) printf("-1\n");
    return 0;
}
