program main
implicit none
integer :: n
  read(*,*) n
  call wolv_or_sheep(n)
contains
  subroutine wolv_or_sheep(n)
  integer,intent(in) :: n
  character(n)       :: s
  logical            :: t(n),sw(n)
  integer            :: i
    read(*,'(A)') s
    t(:) = [(s(i:i)=='x',i=1,n)]
    if(n<2)then
      if(t(1))then
        print*,'S'
      else
        print*,-1
      endif
      RETURN
    endif

    sw(1) = .TRUE.

    if(t(1))then
      sw(2) = sw(1)
    else
      sw(2) = .not.sw(1)
    endif

    do i=2,n-1
      if(t(i))then
        sw(i+1) = sw(i)
      else
        sw(i+1) = .not.sw(i)
      endif
    enddo

    if(sw(1).eqv.sw(N).and..not.t(N))then
      do i=1,n
        if(sw(i))then
          write(*,'(A)',advance='NO') 'S'
        else
          write(*,'(A)',advance='NO') 'W'
        endif
      enddo
    else
      print*,-1
    endif
  end subroutine wolv_or_sheep

end program main
