
import qualified Data.Vector as V

type Data = (Int, V.Vector Char)

get :: IO Data
get = do
  n <- read <$> getLine
  v <- V.fromList <$> getLine
  pure (n-1,v)

solve :: Data -> IO ()
solve (size,oxs) = solve' pattern
  where
    solve' :: [V.Vector Char] -> IO ()
    solve' [] = putStrLn "-1"
    solve' (p:ps) = 
      let animals = make size 2 oxs p in
      if check size 0 oxs animals then
        putStrLn $ V.toList animals
      else do
        solve' ps

    pattern :: [V.Vector Char]
    pattern = [V.fromList [a,b] | let ls = ['S','W'], a <- ls, b <- ls]

    make :: Int -> Int -> V.Vector Char -> V.Vector Char -> V.Vector Char
    make size i oxs animals = 
      let
        ox = oxs V.! (i - 1)
        l = animals V.! (i - 1)
        ll = animals V.! (i - 2)
        i' = i + 1
        go = make size i' oxs . V.snoc animals
      in
      if i > size then
        animals
      else
        case (ox,l,ll) of
          ('o','S','S') -> go 'S'
          ('o','S','W') -> go 'W'
          ('o','W','S') -> go 'W'
          ('o','W','W') -> go 'S'
          ('x','S','S') -> go 'W'
          ('x','S','W') -> go 'S'
          ('x','W','S') -> go 'S'
          ('x','W','W') -> go 'W'

    check :: Int -> Int -> V.Vector Char -> V.Vector Char -> Bool
    check size i oxs animals =
      let
        ox = oxs V.! i
        m = animals V.! i
        l = animals V.! (if i == 0 then size else i - 1)
        r = animals V.! (if i == size then 0 else i + 1)
        i' = i + 1
        go = check size i' oxs animals
      in
      if i > size then
        True
      else
        case (ox,m,l,r) of
          ('o','S','S','S') -> go
          ('o','S','S','W') -> False
          ('o','S','W','S') -> False
          ('o','S','W','W') -> go
          ('o','W','S','S') -> False
          ('o','W','S','W') -> go
          ('o','W','W','S') -> go
          ('o','W','W','W') -> False
          ('x','S','S','S') -> False
          ('x','S','S','W') -> go
          ('x','S','W','S') -> go
          ('x','S','W','W') -> False
          ('x','W','S','S') -> go
          ('x','W','S','W') -> False
          ('x','W','W','S') -> False
          ('x','W','W','W') -> go






main = get >>= solve
