import io.StdIn.{readInt, readLine}
object Main extends App {
  val n = readInt
  val _s = readLine.toSeq
  val s = _s.tail :+ _s.head

  sealed abstract class Animal
  final case object Sheep extends Animal {
    override def toString = "S"
  }
  final case object Wolf extends Animal {
    override def toString = "W"
  }

  println {
    solve(s, List(Sheep, Sheep)) match { case a1 :: a2 :: as if (a1, a2) == (Sheep, Sheep) => as.mkString.reverse; case _ =>
    solve(s, List(Sheep, Wolf)) match { case a1 :: a2 :: as if (a1, a2) == (Sheep, Wolf) => as.mkString.reverse; case _ =>
    solve(s, List(Wolf, Sheep)) match { case a1 :: a2 :: as if (a1, a2) == (Wolf, Sheep) => as.mkString.reverse; case _ =>
    solve(s, List(Wolf, Wolf)) match { case a1 :: a2 :: as if (a1, a2) == (Wolf, Wolf) => as.mkString.reverse; case _ => "-1" }}}}
  }

  def solve(s: Seq[Char], as: List[Animal]): List[Animal] = {
    if (s.isEmpty) as
    else {
      val s1 = s.head
      val List(a1, a0) = as.take(2)
      val a2 = if (a0 == a1) (if (s1 == 'o') Sheep else Wolf)
                        else (if (s1 == 'x') Sheep else Wolf)
      solve(s.tail, a2 :: as)
    }
  }
}
