output_description: If there does not exist an valid assignment that is consistent with s, print
  `-1`. Otherwise, print an string t in the following format. The output is
  considered correct if the assignment described by t is consistent with s.
  
    * t is a string of length N consisting of `S` and `W`.
    * If t_i is `S`, it indicates that the animal numbered i is a sheep. If t_i is `W`, it indicates that the animal numbered i is a wolf.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N
      s
attempt: from sys import stdout
  
  printn = lambda x: stdout.write(str(x))
  inn = lambda: int(input())
  inl = lambda: list(map(int, input().split()))
  inm = lambda: map(int, input().split())
  ins = lambda: input().strip()
  DBG = True  # and False
  BIG = 999999999
  R = 10**9 + 7
  
  
  def ddprint(x):
      if DBG:
          print(x)
  
  
  def right(aim, ai, si):
      if ai == 0:
          return aim if si == "o" else (1 - aim)
      else:
          return (1 - aim) if si == "o" else aim
  
  
  n = inn()
  s = ins()
  for a0 in [0, 1]:
      for a1 in [0, 1]:
          a = [-1] * n
          a[0] = a0
          a[1] = a1
          for i in range(1, n - 1):
              a[i + 1] = right(a[i - 1], a[i], s[i])
          if (
              right(a[n - 2], a[n - 1], s[n - 1]) == a[0]
              and right(a[n - 1], a[0], s[0]) == a[1]
          ):
              for j in range(n):
                  printn("S" if a[j] == 0 else "W")
              print("")
              exit()
  print(-1)
  
problem_description: Statement
  
  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`.
samples: [{"input": "6\n    ooxoox", "output": "SSSWWS\n    \n\nFor example, if the animals numbered 1, 2, 3, 4, 5 and 6 are respectively a\nsheep, sheep, sheep, wolf, wolf, and sheep, it is consistent with their\nresponses. Besides, there is another valid assignment of species: a wolf,\nsheep, wolf, sheep, wolf and wolf.\n\nLet us remind you: if the neiboring animals are of the same species, a sheep\nanswers `o` and a wolf answers `x`. If the neiboring animals are of different\nspecies, a sheep answers `x` and a wolf answers `o`.\n\n![b34c052fc21c42d2def9b98d6dccd05c.png](https://atcoder.jp/img/arc069/b34c052fc21c42d2def9b98d6dccd05c.png)\n\n* * *"}, {"input": "3\n    oox", "output": "-1\n    \n\nPrint `-1` if there is no valid assignment of species.\n\n* * *"}, {"input": "10\n    oxooxoxoox", "output": "SSWWSSSWWS"}]