n = int(eval(input()))

s = eval(input())



def loop():

    for i in range(1, n-1):

        if ans[i] == 'S':

            if s[i] == 'x':

                if ans[i-1] == 'S':         

                    ans[i+1] = 'W'

                else:

                    ans[i+1] = 'S'

            else:

                if ans[i-1] == 'W':

                    ans[i+1] = 'W'

                else:

                    ans[i+1] = 'S'

        else:

            if s[i] == 'o':

                if ans[i-1] == 'S':

                    ans[i+1] = 'W'

                else:

                    ans[i+1] = 'S'

            else:

                if ans[i-1] == 'W':

                    ans[i+1] = 'W'

                else:

                    ans[i+1] = 'S'



ans = ['S'] * n

if s[0]  == 'x':

    ans[1] = 'W'

else:

    ans[1] = 'S'

loop()

if ans[n-1] == 'S':

    if (s[n-1] == 'o' and ans[n-2] == 'S') or (s[n-1] == 'x' and ans[n-2] == 'W'):

        print((''.join(ans)))

        exit()



ans = ['W'] * (n-1) + ['S']

if s[0]  == 'x':

    ans[1] = 'S'

else:

    ans[1] = 'W'

loop()

if ans[n-1] == 'S':

    if (s[n-1] == 'x' and ans[n-2] == 'S') or (s[n-1] == 'o' and ans[n-2] == 'W'):

        print((''.join(ans)))

        exit()



ans = ['S'] * (n-1) + ['W']

if s[0]  == 'x':

    ans[1] = 'S'

else:

    ans[1] = 'W'

loop()

if ans[n-1] == 'W':

    if (s[n-1] == 'x' and ans[n-2] == 'S') or (s[n-1] == 'o' and ans[n-2] == 'W'):

        print((''.join(ans)))

        exit()



ans = ['W'] * n

if s[0]  == 'x':

    ans[1] = 'W'

else:

    ans[1] = 'S'

loop()

if ans[n-1] == 'W':

    if (s[n-1] == 'x' and ans[n-2] == 'W') or (s[n-1] == 'o' and ans[n-2] == 'S'):

        print((''.join(ans)))

        exit()        



print((-1))

import sys

from itertools import product



n = int(sys.stdin.readline().rstrip())

s = sys.stdin.readline().rstrip()

resp = s

resp = resp.replace('o', '1')

resp = resp.replace('x', '0')

resp = [None] + [int(x) for x in resp]



def restore(pattern):

    for i in range(1, n):

        if resp[i] ^ pattern[i]:

            pattern[i+1] = 1 if pattern[i-1] ^ 1 else 0

        else:

            pattern[i+1] = pattern[i-1]

    return pattern



def contradicting(pattern):

    if pattern[0] != pattern[-1]:

        return True

    if resp[-1] ^ pattern[-1]:

        if not pattern[-2] ^ pattern[1]:

            return True

    else:

        if pattern[-2] ^ pattern[1]:

            return True   

    return False



def main():

    res = [None] * (n + 1)

    for i in range(4):

        pattern = res.copy()

        pattern[0] = i >> 0 & 1

        pattern[1] = i >> 1 & 1

        ans = restore(pattern)

        if not contradicting(ans):

            t = ''

            for i in range(1, n+1):

                t += 'S' if ans[i] & 1 else 'W'

            return t

    return -1



if __name__ == '__main__':

    ans = main()

    print(ans)
n = int(eval(input()))
s = eval(input())


def loop():
    for i in range(1, n - 1):
        if ans[i] == "S":
            if s[i] == "x":
                if ans[i - 1] == "S":
                    ans[i + 1] = "W"
                else:
                    ans[i + 1] = "S"
            else:
                if ans[i - 1] == "W":
                    ans[i + 1] = "W"
                else:
                    ans[i + 1] = "S"
        else:
            if s[i] == "o":
                if ans[i - 1] == "S":
                    ans[i + 1] = "W"
                else:
                    ans[i + 1] = "S"
            else:
                if ans[i - 1] == "W":
                    ans[i + 1] = "W"
                else:
                    ans[i + 1] = "S"


ans = ["S"] * n
if s[0] == "x":
    ans[1] = "W"
else:
    ans[1] = "S"
loop()
if ans[n - 1] == "S":
    if (s[n - 1] == "o" and ans[n - 2] == "S") or (
        s[n - 1] == "x" and ans[n - 2] == "W"
    ):
        print(("".join(ans)))
        exit()
ans = ["W"] * (n - 1) + ["S"]
if s[0] == "x":
    ans[1] = "S"
else:
    ans[1] = "W"
loop()
if ans[n - 1] == "S":
    if (s[n - 1] == "x" and ans[n - 2] == "S") or (
        s[n - 1] == "o" and ans[n - 2] == "W"
    ):
        print(("".join(ans)))
        exit()
ans = ["S"] * (n - 1) + ["W"]
if s[0] == "x":
    ans[1] = "S"
else:
    ans[1] = "W"
loop()
if ans[n - 1] == "W":
    if (s[n - 1] == "x" and ans[n - 2] == "S") or (
        s[n - 1] == "o" and ans[n - 2] == "W"
    ):
        print(("".join(ans)))
        exit()
ans = ["W"] * n
if s[0] == "x":
    ans[1] = "W"
else:
    ans[1] = "S"
loop()
if ans[n - 1] == "W":
    if (s[n - 1] == "x" and ans[n - 2] == "W") or (
        s[n - 1] == "o" and ans[n - 2] == "S"
    ):
        print(("".join(ans)))
        exit()
print((-1))

import sys
from itertools import product

n = int(sys.stdin.readline().rstrip())
s = sys.stdin.readline().rstrip()
resp = s
resp = resp.replace("o", "1")
resp = resp.replace("x", "0")
resp = [None] + [int(x) for x in resp]


def restore(pattern):
    for i in range(1, n):
        if resp[i] ^ pattern[i]:
            pattern[i + 1] = 1 if pattern[i - 1] ^ 1 else 0
        else:
            pattern[i + 1] = pattern[i - 1]
    return pattern


def contradicting(pattern):
    if pattern[0] != pattern[-1]:
        return True
    if resp[-1] ^ pattern[-1]:
        if not pattern[-2] ^ pattern[1]:
            return True
    else:
        if pattern[-2] ^ pattern[1]:
            return True
    return False


def main():
    res = [None] * (n + 1)
    for i in range(4):
        pattern = res.copy()
        pattern[0] = i >> 0 & 1
        pattern[1] = i >> 1 & 1
        ans = restore(pattern)
        if not contradicting(ans):
            t = ""
            for i in range(1, n + 1):
                t += "S" if ans[i] & 1 else "W"
            return t
    return -1


if __name__ == "__main__":
    ans = main()
    print(ans)

-n = int(eval(input())) -s = eval(input()) +import sys +from itertools import product + +n = int(sys.stdin.readline().rstrip()) +s = sys.stdin.readline().rstrip() +resp = s +resp = resp.replace("o", "1") +resp = resp.replace("x", "0") +resp = [None] + [int(x) for x in resp] -def loop(): -    for i in range(1, n - 1): -        if ans[i] == "S": -            if s[i] == "x": -                if ans[i - 1] == "S": -                    ans[i + 1] = "W" -                else: -                    ans[i + 1] = "S" -            else: -                if ans[i - 1] == "W": -                    ans[i + 1] = "W" -                else: -                    ans[i + 1] = "S" +def restore(pattern): +    for i in range(1, n): +        if resp[i] ^ pattern[i]: +            pattern[i + 1] = 1 if pattern[i - 1] ^ 1 else 0 -            if s[i] == "o": -                if ans[i - 1] == "S": -                    ans[i + 1] = "W" -                else: -                    ans[i + 1] = "S" -            else: -                if ans[i - 1] == "W": -                    ans[i + 1] = "W" -                else: -                    ans[i + 1] = "S" +            pattern[i + 1] = pattern[i - 1] +    return pattern -ans = ["S"] * n -if s[0] == "x": -    ans[1] = "W" -else: -    ans[1] = "S" -loop() -if ans[n - 1] == "S": -    if (s[n - 1] == "o" and ans[n - 2] == "S") or ( -        s[n - 1] == "x" and ans[n - 2] == "W" -    ): -        print(("".join(ans))) -        exit() -ans = ["W"] * (n - 1) + ["S"] -if s[0] == "x": -    ans[1] = "S" -else: -    ans[1] = "W" -loop() -if ans[n - 1] == "S": -    if (s[n - 1] == "x" and ans[n - 2] == "S") or ( -        s[n - 1] == "o" and ans[n - 2] == "W" -    ): -        print(("".join(ans))) -        exit() -ans = ["S"] * (n - 1) + ["W"] -if s[0] == "x": -    ans[1] = "S" -else: -    ans[1] = "W" -loop() -if ans[n - 1] == "W": -    if (s[n - 1] == "x" and ans[n - 2] == "S") or ( -        s[n - 1] == "o" and ans[n - 2] == "W" -    ): -        print(("".join(ans))) -        exit() -ans = ["W"] * n -if s[0] == "x": -    ans[1] = "W" -else: -    ans[1] = "S" -loop() -if ans[n - 1] == "W": -    if (s[n - 1] == "x" and ans[n - 2] == "W") or ( -        s[n - 1] == "o" and ans[n - 2] == "S" -    ): -        print(("".join(ans))) -        exit() -print((-1)) +def contradicting(pattern): +    if pattern[0] != pattern[-1]: +        return True +    if resp[-1] ^ pattern[-1]: +        if not pattern[-2] ^ pattern[1]: +            return True +    else: +        if pattern[-2] ^ pattern[1]: +            return True +    return False + + +def main(): +    res = [None] * (n + 1) +    for i in range(4): +        pattern = res.copy() +        pattern[0] = i >> 0 & 1 +        pattern[1] = i >> 1 & 1 +        ans = restore(pattern) +        if not contradicting(ans): +            t = "" +            for i in range(1, n + 1): +                t += "S" if ans[i] & 1 else "W" +            return t +    return -1 + + +if __name__ == "__main__": +    ans = main() +    print(ans)