// Original C++ solution (slower):
#include <iostream>

#include <cstdio>

#include <cstring>

#include <cmath>

#include <string>

#include <algorithm>

#include <vector>

#include <map>

using namespace std;

const int N = 1e5+10;

typedef long long LL;

const LL mod = 1e9+7;

char str[N], s1[N];

int judge(int n)

{

    for(int i=1; i<n-1; i++)

    {

        if(s1[i]=='S')

        {

            if(str[i]=='o') s1[i+1]=s1[i-1];

            else

            {

                if(s1[i-1]=='S') s1[i+1]='W';

                else s1[i+1]='S';

            }

        }

        else

        {

            if(str[i]=='x') s1[i+1]=s1[i-1];

            else

            {

                if(s1[i-1]=='S') s1[i+1]='W';

                else s1[i+1]='S';

            }

        }

    }

    int flag=0;

    if(s1[n-1]=='S')

    {

        if(str[n-1]=='o')

        {

            if(s1[n-2]==s1[0])

            {

                if(s1[0]=='S')

                {

                    if(str[0]=='o'&&s1[1]==s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]!=s1[n-1]) flag=1;

                }

                if(s1[0]=='W')

                {

                    if(str[0]=='o'&&s1[1]!=s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]==s1[n-1]) flag=1;

                }

            }

        }

        else

        {

            if(s1[n-2]!=s1[0])

            {

                if(s1[0]=='S')

                {

                    if(str[0]=='o'&&s1[1]==s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]!=s1[n-1]) flag=1;

                }

                if(s1[0]=='W')

                {

                    if(str[0]=='o'&&s1[1]!=s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]==s1[n-1]) flag=1;

                }

            }

        }

    }

    else

    {

        if(str[n-1]=='o')

        {

            if(s1[n-2]!=s1[0])

            {

                if(s1[0]=='S')

                {

                    if(str[0]=='o'&&s1[1]==s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]!=s1[n-1]) flag=1;

                }

                if(s1[0]=='W')

                {

                    if(str[0]=='o'&&s1[1]!=s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]==s1[n-1]) flag=1;

                }

            }

        }

        else

        {

            if(s1[n-2]==s1[0])

            {

                if(s1[0]=='S')

                {

                    if(str[0]=='o'&&s1[1]==s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]!=s1[n-1]) flag=1;

                }

                if(s1[0]=='W')

                {

                    if(str[0]=='o'&&s1[1]!=s1[n-1]) flag=1;

                    if(str[0]=='x'&&s1[1]==s1[n-1]) flag=1;

                }

            }

        }

    }

    if(flag==1)

    {

        s1[n]='\0';

        return 1;

    }

    return 0;

}



int main()

{



    int n;

    scanf("%d", &n);

    scanf("%s",str);

    s1[0]='S',s1[1]='S';

    int x=judge(n);

    if(x==1)

    {

        cout<<s1<<endl;

        return 0;

    }

    s1[0]='W', s1[1]='W';

    x=judge(n);

    if(x==1)

    {

        cout<<s1<<endl;

        return 0;

    }

    s1[0]='S',s1[1]='W';

    x=judge(n);

    if(x==1)

    {

        cout<<s1<<endl;

        return 0;

    }

    s1[0]='W',s1[1]='S';

    x=judge(n);

    if(x==1)

    {

        cout<<s1<<endl;

        return 0;

    }

    cout<<-1<<endl;

    return 0;



}
















// Optimized solution to the same problem (faster):
#include <stdio.h>

#include <algorithm>

using namespace std;



int main()

{

    char s[4][2]={'S','S','S','W','W','S','W','W'},a[100005],b[100005];

    int n,i,k,flag;

    scanf("%d",&n);

    scanf("%s",a);

    for(k=0;k<4;k++)

    {   flag=0;

        b[0]=s[k][0],b[1]=s[k][1];

        char temp;

        if(a[0]=='o'&&b[0]=='S')temp=b[1];

        else if(a[0]=='x'&&b[0]=='S')

        {

            if(b[1]=='S')temp='W';

            else temp='S';

        }

        else if(a[0]=='x'&&b[0]=='W')temp=b[1];

        else if(a[0]=='o'&&b[0]=='W')

        {

         if(b[1]=='W')temp='S';

         else temp='W';

        }

        for(i=1;i<n;i++)

        {

          if(a[i]=='o'&&b[i]=='S')b[i+1]=b[i-1];

        else if(a[i]=='x'&&b[i]=='S')

        {

            if(b[i-1]=='S')b[i+1]='W';

            else b[i+1]='S';

        }

        else if(a[i]=='x'&&b[i]=='W')b[i+1]=b[i-1];

        else if(a[i]=='o'&&b[i]=='W')

        {

         if(b[i-1]=='W')b[i+1]='S';

         else b[i+1]='W';

        }

        }

        if(b[n]==b[0]&&temp==b[n-1])

        {

            flag=1;

            break;

        }

    }

    b[n]='\0';

    if(flag)printf("%s\n",b);

    else printf("-1\n");

    return 0;

}


// Fastest known solution for this problem: