# ARC069D - Menagerie (ABC055D)

def check(a: int, b: int) -> list:

    ret, cur, prev = [], a, b

    for i in S:

        ret += [cur]

        if cur ^ (i == "o"):  # oSo or oWx

            prev, cur = cur, prev ^ 1  # both neighbors are different

        else:  # oSx or oWo

            prev, cur = cur, prev  # both are the same

    flg = cur == a and prev == b  # check the consistency of input and result

    return ret if flg else []





def main():

    global S

    N = int(eval(input()))

    S = input().rstrip()

    for a in range(2):

        for b in range(2):

            ans = check(a, b)

            if ans:

                print(("".join("S" if i else "W" for i in ans)))

                return

    print((-1))





if __name__ == "__main__":

    main()
# ARC069D - Menagerie (ABC055D)

def check(a: int, b: int) -> list:

    ret, cur, prev = [], a, b

    for i in S:

        ret += [cur]

        if cur ^ (i == "o"):  # oSo or oWx

            prev, cur = cur, prev ^ 1  # both neighbors are different

        else:  # oSx or oWo

            prev, cur = cur, prev  # both are the same

    flg = cur == a and prev == b  # check the consistency of input and result

    return ret if flg else []





def main():

    global S

    N = int(eval(input()))

    S = input().rstrip()

    for a in range(2):

        for b in range(2):

            x = check(a, b)

            if x:

                ans = "".join("S" if i else "W" for i in x)

                print(ans)

                return

    print((-1))





if __name__ == "__main__":

    main()
# ARC069D - Menagerie (ABC055D)
def check(a: int, b: int) -> list:
    ret, cur, prev = [], a, b
    for i in S:
        ret += [cur]
        if cur ^ (i == "o"):  # oSo or oWx
            prev, cur = cur, prev ^ 1  # both neighbors are different
        else:  # oSx or oWo
            prev, cur = cur, prev  # both are the same
    flg = cur == a and prev == b  # check the consistency of input and result
    return ret if flg else []


def main():
    global S
    N = int(eval(input()))
    S = input().rstrip()
    for a in range(2):
        for b in range(2):
            ans = check(a, b)
            if ans:
                print(("".join("S" if i else "W" for i in ans)))
                return
    print((-1))


if __name__ == "__main__":
    main()

# ARC069D - Menagerie (ABC055D)
def check(a: int, b: int) -> list:
    ret, cur, prev = [], a, b
    for i in S:
        ret += [cur]
        if cur ^ (i == "o"):  # oSo or oWx
            prev, cur = cur, prev ^ 1  # both neighbors are different
        else:  # oSx or oWo
            prev, cur = cur, prev  # both are the same
    flg = cur == a and prev == b  # check the consistency of input and result
    return ret if flg else []


def main():
    global S
    N = int(eval(input()))
    S = input().rstrip()
    for a in range(2):
        for b in range(2):
            x = check(a, b)
            if x:
                ans = "".join("S" if i else "W" for i in x)
                print(ans)
                return
    print((-1))


if __name__ == "__main__":
    main()

-            ans = check(a, b) -            if ans: -                print(("".join("S" if i else "W" for i in ans))) +            x = check(a, b) +            if x: +                ans = "".join("S" if i else "W" for i in x) +                print(ans)