#include <bits/stdc++.h>

using namespace std;

#define pb push_back
#define mp make_pair

typedef long long int ll;
typedef vector< pair<int,int> > vii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<long long int> vll;
typedef pair<int,int> pii;

const ll INF= ll (1e18);
const int MOD= 1e9+7;
const int N=100000+10;


int len;
int n;
string s;

bool ispossible( char arr[100001])
{
    int flag=0;
     for(int i=0;i<len;i++)
     {
         int index=i+1;
         char ch=s[i];
         int left=index-1;
         if(left==0)
            left=n;
         int right=index+1;
         if(right==(n+1))
            right=1;



         if(arr[index]=='W')
         {
             if(ch=='o')
                ch='x';
             else
                ch='o';
         }
        // cout<<ch<<endl;

         if(ch=='o')
         {
                 // he is speaking truth;
                 if(arr[left]=='*'&&arr[right]!='*')
                 {
                     arr[left]=arr[right];
                 }
                 else  if(arr[left]!='*'&&arr[right]=='*')
                 {
                     arr[right]=arr[left];
                 }
                 else  if(arr[left]=='*'&&arr[right]=='*')
                 {
                     arr[right]=arr[index];
                     arr[left]=arr[right];
                 }
                 else if(arr[left]!=arr[right])
                 {
                     flag=1;
                     break;
                 }
             }

         else
         {
             //cout<<ch<<endl;
             //cout<<left<<" "<<right<<endl;
                 // he is speaking truth;
                 if(arr[left]=='*'&&arr[right]!='*')
                 {
                     char ans;
                     if(arr[right]=='S')
                        ans='W';
                     else
                        ans='S';
                     arr[left]=ans;

                 }
                 else  if(arr[left]!='*'&&arr[right]=='*')
                 {
                     char ans;
                     if(arr[left]=='S')
                        ans='W';
                     else
                        ans='S';
                     arr[right]=ans;

                 }
                 else  if(arr[left]=='*'&&arr[right]=='*')
                 {
                     arr[right]=arr[index];
                     arr[left]=arr[right];
                 }
                 else if(arr[left]==arr[right])
                 {
                     flag=1;
                     break;
                 }
             }

        // for(int j=1;j<=n;j++)
          //  cout<<arr[j];

         }

         return !(flag);
}

int main()
{
    std::ios::sync_with_stdio(0);

     cin>>n;

     cin>>s;

     char arr[100001];
     memset(arr,'*',sizeof(arr));

      len=s.length();

     int index=1;
     int left=n;
     int right=2;

     int flag;

     if(s[0]=='o')
     {
          arr[index]='S';

     arr[left]='S';
     arr[right]='S';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];

            return 0;
     }
     memset(arr,'*',sizeof(arr));


      arr[index]='W';

     arr[left]='W';
     arr[right]='S';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];

            return 0;
     }
     memset(arr,'*',sizeof(arr));

      arr[index]='W';

     arr[left]='S';
     arr[right]='W';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];

return 0;
     }
     memset(arr,'*',sizeof(arr));


      arr[index]='S';

     arr[left]='W';
     arr[right]='W';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];
     return 0;
     }
     }

     if(s[0]=='x')
     {
         memset(arr,'*',sizeof(arr));

          arr[index]='S';

     arr[left]='W';
     arr[right]='S';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];

            return 0;
     }
     memset(arr,'*',sizeof(arr));


      arr[index]='S';

     arr[left]='S';
     arr[right]='W';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];

            return 0;
     }
     memset(arr,'*',sizeof(arr));

      arr[index]='W';

     arr[left]='W';
     arr[right]='W';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];

return 0;
     }
     memset(arr,'*',sizeof(arr));


      arr[index]='W';

     arr[left]='S';
     arr[right]='S';

     flag=ispossible(arr);

     if(flag==1)
     {
         for(int i=1;i<=n;i++)
            cout<<arr[i];
     return 0;
     }
     }

     cout<<-1;



    return 0;
}


Measured memory_bytes: 720