// Slower C++ solution:
#include<cstring>

#include<cstdio>

#include<iostream>

using namespace std;

char s[100010];

int r[100010];

bool flag;

int main()

{

	int n;

	while(scanf("%d",&n)==1)

	{

		scanf("%s",s);

		int num=0;

		while(num<4)

		{

			flag=true;

			if(num==0)

			{

				r[0]=1;

			    r[1]=1;

			}

			if(num==1)

			{

				r[0]=1;

			    r[1]=0;

			}

			if(num==2)

			{

				r[0]=0;

			    r[1]=1;

			}

			if(num==3)

			{

				r[0]=0;

			    r[1]=0;

			}

			//printf("%d %d\n",r[0],r[1]);

			for(int i=0;i<n;i++)

			{

				if(i==0)

				{

					if(s[i]=='o')

					{

						if(r[i]==1)

						r[n-1]=r[i+1];

						if(r[i]==0)

						r[n-1]=1-r[i+1];

					}

					if(s[i]=='x')

					{

						if(r[i]==1)

						r[n-1]=1-r[i+1];

						if(r[i]==0)

						r[n-1]=r[i+1];

					}

				}

				

				if(i==n-1)

				{

					if(s[i]=='o')

					{

						if(r[i]==1)

						if(r[i-1]!=r[0])

						flag=false;

						if(r[i]==0)

						if(r[i-1]==r[0])

						flag=false;

					}

					if(s[i]=='x')

					{

						if(r[i]==1)

						if(r[i-1]==r[0])

						flag=false;

						if(r[i]==0)

						if(r[i-1]!=r[0])

						flag=false;

					}

				}

				

				if(i>0&&i<n-2)

				{

					if(s[i]=='o')

					{

						if(r[i]==1)

						r[i+1]=r[i-1];

						if(r[i]==0)

						r[i+1]=1-r[i-1];

					}

					if(s[i]=='x')

					{

						if(r[i]==1)

						r[i+1]=1-r[i-1];

						if(r[i]==0)

						r[i+1]=r[i-1];

					}

				}

				

				if(i==n-2)

				{

					if(s[i]=='o')

					{

						if(r[i]==1)

						if(r[i-1]!=r[i+1])

						flag=false;

						if(r[i]==0)

						if(r[i-1]==r[i+1])

						flag=false;

					}

					if(s[i]=='x')

					{

						if(r[i]==1)

						if(r[i-1]==r[i+1])

						flag=false;

						if(r[i]==0)

						if(r[i-1]!=r[i+1])

						flag=false;

					}

				}

			}

			/*for(int i=0;i<n;i++)

			printf("%d",r[i]);

			cout<<endl;*/

			if(flag)

			break;

			num++;

		}

		if(flag)

		for(int i=0;i<n;i++)

		{

			if(r[i]==1)

			printf("S");

			else printf("W");

		}

		else printf("-1");

		printf("\n");

	}

	return 0;

} 

// Faster C++ solution for the same problem (measured speedup: 4.969868895116276x):
#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;

}