Problem: Snuke, who loves animals, built a zoo.  There are N animals in this zoo. They are conveniently numbered 1 through N, and arranged in a circle. The animal numbered i (2≤i≤N-1) is adjacent to the animals numbered i-1 and i+1. Also, the animal numbered 1 is adjacent to the animals numbered 2 and N, and the animal numbered N is adjacent to the animals numbered N-1 and 1.  There are two kinds of animals in this zoo: honest sheep that only speak the truth, and lying wolves that only tell lies.  Snuke cannot tell the difference between these two species, and asked each animal the following question: "Are your neighbors of the same species?" The animal numbered i answered s_i. Here, if s_i is `o`, the animal said that the two neighboring animals are of the same species, and if s_i is `x`, the animal said that the two neighboring animals are of different species.  More formally, a sheep answered `o` if the two neighboring animals are both sheep or both wolves, and answered `x` otherwise. Similarly, a wolf answered `x` if the two neighboring animals are both sheep or both wolves, and answered `o` otherwise.  Snuke is wondering whether there is a valid assignment of species to the animals that is consistent with these responses. If there is such an assignment, show one such assignment. Otherwise, print `-1`.

Submission attempts (in order):
n = int(input())
s = input()

ans = ["SS", "SW", "WS", "WW"]

for i in range(4):
    for j in range(1, n + 1):
        if s[j - 1] == "o":
            if ans[i][j] == "S":
                if ans[i][j - 1] == "S":
                    ans[i] += "S"
                else:
                    ans[i] += "W"
            else:
                if ans[i][j - 1] == "S":
                    ans[i] += "W"
                else:
                    ans[i] += "S"
        else:
            if ans[i][j] == "S":
                if ans[i][j - 1] == "S":
                    ans[i] += "W"
                else:
                    ans[i] += "S"
            else:
                if ans[i][j - 1] == "S":
                    ans[i] += "S"
                else:
                    ans[i] += "W"
    print(ans)

    if ans[i][0] == ans[i][n] and ans[i][1] == ans[i][n + 1]:
        flag = True
    else:
        flag = False

    if flag:
        idx = i
        break

if flag:
    print(ans[idx][1:n + 1])
else:
    print(-1)


n = int(input())
s = input()

ans = ["SS", "SW", "WS", "WW"]

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

    if ans[i][0] == ans[i][n] and ans[i][1] == ans[i][n + 1]:
        flag = True
    else:
        flag = False

    if flag:
        idx = i
        break

if flag:
    print(ans[idx][1:n + 1])
else:
    print(-1)


Verdicts: Wrong Answer

Accepted