// 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: 5.154939558075053x):
#include<stdio.h>

#include<string.h>

char a[100010],b[100010];

int n;

void f()

{

	int i;

	for(i=2;i<=n-2;i++)

	{

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

		{

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

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

			else

			{

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

				b[i+1]='W';

				else

				b[i+1]='S';

			}

		}

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

		{

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

			{

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

				b[i+1]='W';

				else

				b[i+1]='S';

			}

			else

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

		}

	}

}

int ff()

{

	int m,k;

	m=0,k=0;

	if(a[n]=='o')

	{

		if(b[n]=='S')

		{

			if(b[n-1]==b[1])

			m=1;

			else

			m=0;

		}

		else

		{

			if(b[n-1]==b[1])

			m=0;

			else

			m=1;

		}

	}

	if(a[n]=='x')

	{

		if(b[n]=='S')

		{

			if(b[n-1]==b[1])

			m=0;

			else

			m=1;

		}

		else

		{

			if(b[n-1]==b[1])

			m=1;

			else

			m=0;

		}

	}

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

	{

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

		{

			if(b[n-2]==b[n])

			k=1;

			else

			k=0;

		}

		else

		{

			if(b[n-2]==b[n])

			k=0;

			else

			k=1;

		}

	}

	if(a[n-1]=='x')

	{

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

		{

			if(b[n-2]==b[n])

			k=0;

			else

			k=1;

		}

		else

		{

			if(b[n-2]==b[n])

			k=1;

			else

			k=0;

		}

	}

	if(m==1&&k==1)

	return 1;

	else

	return 0;

}

int main(void)

{

	int i,j,k;

	scanf("%d",&n);

		getchar();

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

		scanf("%c",&a[i]);

		k=0;

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

		{

			if(k==1)

			break;

			if(i==1&&k==0)

			{

				b[1]='S',b[2]='S';

				if(a[1]=='o')

				b[n]='S';

				else

				b[n]='W';

				f();

				if(ff()==1)

				{

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

					printf("%c",b[i]);printf("\n");

					k=1;

				}

			}

			else if(k==0&&i==2)

			{

				b[1]='S',b[2]='W';

				if(a[1]=='o')

				b[n]='W';

				else

				b[n]='S';

				f();

				if(ff()==1)

				{

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

					printf("%c",b[i]);

					printf("\n");

					k=1;

				}

			}

			else if(k==0&&i==3)

			{

				b[1]='W',b[2]='W';

				if(a[1]=='o')

				b[n]='S';

				else

				b[n]='W';

				f();

				if(ff()==1)

				{

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

					printf("%c",b[i]);

					printf("\n");

					k=1;

				}

			}

			else if(k==0&&i==4)

			{

				b[1]='W',b[2]='S';

				if(a[1]=='o')

				b[n]='W';

				else

				b[n]='S';

				f();

				if(ff()==1)

				{

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

					printf("%c",b[i]);

					printf("\n");

					k=1;

				};

			}

		}

		if(k==0)

		printf("-1\n");

	return 0;

}