main = do
    n <- getLine
    s <- getLine
    let list = filter isMatch [getPattern x s | x <- ["SS", "SW", "WS", "WW"]]
    putStrLn $ (null list) ? ("-1", take (read n :: Int) $ tail $ head list)
    where
        isMatch l = take 2 l == drop (length l - 2) l

getPattern initial signs = foldl getAnimal initial signs

getAnimal pattern sign = reverse $ (isXor current sign ? (non before, before)) : (reverse pattern)
    where
        current = last pattern
        before = last $ init pattern

isXor animal sign = animal == 'S' && sign == 'x' || animal == 'W' && sign == 'o'
non animal = (animal == 'S') ? ('W', 'S')
x ? (a, b) = if x then a else b