// Original C++ solution (slower):
#include<bits/stdc++.h>

using namespace std;

int main(){

	long long n,m,i,j,f[100010],yc[100010];

	bool g;

	cin>>n;

	char x;

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

		cin>>x;

		if(x=='o')f[i]=1;

		else f[i]=0;

	}

	yc[1]=1;yc[2]=1;

	g=0;

	for(i=3;i<=n;i++){

		if(yc[i-1]==1){

			if(f[i-1]==1)

				yc[i]=yc[i-2];

			else{

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

		}

		else{

			if(f[i-1]==1){

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

			else

			yc[i]=yc[i-2];

		}

	}

   	if(yc[1]==1){

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	else{

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	if(g==0){

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

			if(yc[i]==1)cout<<'S';

			else cout<<'W';

		}

		return 0;

	}

	yc[1]=1;yc[2]=0;

	g=0;

	for(i=3;i<=n;i++){

		if(yc[i-1]==1){

			if(f[i-1]==1)

				yc[i]=yc[i-2];

			else{

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

		}

		else{

			if(f[i-1]==1){

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

			else

			yc[i]=yc[i-2];

		}

	}

	if(yc[1]==1){

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	else{

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	if(g==0){

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

			if(yc[i]==1)cout<<'S';

			else cout<<'W';

		}

		return 0;

	}

	yc[1]=0;yc[2]=1;

	g=0;

	for(i=3;i<=n;i++){

		if(yc[i-1]==1){

			if(f[i-1]==1)

				yc[i]=yc[i-2];

			else{

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

		}

		else{

			if(f[i-1]==1){

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

			else

			yc[i]=yc[i-2];

		}

	}

	if(yc[1]==1){

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	else{

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	if(g==0){

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

			if(yc[i]==1)cout<<'S';

			else cout<<'W';

		}

		return 0;

	}

	yc[1]=0;yc[2]=0;

	g=0;

	for(i=3;i<=n;i++){

		if(yc[i-1]==1){

			if(f[i-1]==1)

				yc[i]=yc[i-2];

			else{

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

		}

		else{

			if(f[i-1]==1){

				if(yc[i-2]==1)yc[i]=0;

				else yc[i]=1;

			}

			else

			yc[i]=yc[i-2];

		}

	}

	if(yc[1]==1){

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	else{

		if(f[1]==1){

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]==yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]==yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

		else{

			if(yc[n]==1){

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

			}

			else{

				if(f[n]==1){

					if(yc[2]!=yc[n]||yc[n-1]==yc[1])g=1;

				}

				else{

					if(yc[2]!=yc[n]||yc[n-1]!=yc[1])g=1;

				}

			}

		}

	}

	if(g==0){

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

			if(yc[i]==1)cout<<'S';

			else cout<<'W';

		}

		return 0;

	}

	cout<<-1;

	return 0;

}

// Optimized solution to the same problem (faster):
#include <cstdio>

int ans[100005],n;

char a[100005];

int check() {

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

		int l = i - 1,r = i + 1;

		if(l == 0) l = n; 

		if(r == n + 1) r = 1;

		if(ans[i] == 1) {

			if(a[i] == 'o' && ans[l] != ans[r]) return 0;

			if(a[i] == 'x' && ans[l] == ans[r]) return 0;

		}

		else {

			if(a[i] == 'o' && ans[l] == ans[r]) return 0;

			if(a[i] == 'x' && ans[l] != ans[r]) return 0;

		}

	}

	return 1;

}

void init() {

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

		if(ans[i] == 1) {

			if(a[i] == 'o') ans[i + 1] = ans[i - 1];

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

				if(a[i] == 'o') ans[i + 1] = ans[i - 1];

				else ans[i + 1] = (ans[i - 1] == 1?2:1);

			}

		}

		if(ans[i] == 2) {

			if(a[i] == 'x') ans[i + 1] = ans[i - 1];

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

				if(a[i] == 'o') ans[i + 1] = (ans[i - 1] == 1?2:1);

				else ans[i + 1] = ans[i - 1];

			}

		}

	}

}



void print() {

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

		if(ans[i] == 1) printf("S");

		else printf("W");

	}

}

int main() {

	scanf("%d",&n);

	scanf("%s",a + 1);

	ans[1] = ans[2] = 1;

	init();

	if(check()) {

		print();

		printf("\n");

		return 0;

	}

	ans[1] = ans[2] = 2;

	init();

	if(check()) {

		print();

		printf("\n");

		return 0;

	}

	ans[1] = 1,ans[2] = 2;

	init();

	if(check()) {

		print();

		printf("\n");

		return 0;

	}

	ans[1] = 2,ans[2] = 1;

	init();

	if(check()) {

		print();

		printf("\n");

		return 0;

	}

	printf("-1\n");

	return 0;

} 

// Fastest known solution for this problem: