program Majority_of_Balls
  implicit none
  integer :: n, f(200) = 0, i, j, q(400) = 0, a(200) = 0
  character(100) :: s = ""
  read(*,*) n
  do i = 1, 2*n
    q(i) = i
    q(i+2*n) = i
  end do
  do i = 1, 2*n
    f(i) = query(q(i:i+n-1))
  end do
  do i = 1, 2*n
    j = idx(i+1,2*n)
    if (f(i)*f(j) < 0) then
      if (f(i)-f(j) > 0) then
        a(i) = 1
        a(idx(i+n,2*n)) = -1
      else
        a(i) = -1
        a(idx(i+n,2*n)) = 1
      end if
    end if
  end do
  do i = 1, 2*n
    if (a(i) == 1) then
      s(i:i) = "R"
    else
      s(i:i) = "B"
    end if
  end do
  write(6,'("! ",a)') trim(s)
  flush(6)
  stop
contains
  integer function idx(i,n)
    integer, intent(in) :: i, n
    idx = mod(i-1,n)+1
  end
  integer function query(q)
    integer, intent(in) :: q(:)
    character(1) :: judge
    integer :: i
    write(6,'(a)',advance='no') "?"
    do i = 1, size(q)
      write(6,'(x,i0)',advance='no') q(i)
    end do
    write(*,*)
    flush(6)
    read(5,*) judge
    if (judge == "R") then
      query = 1
    else
      query = -1
    end if
  end
end program Majority_of_Balls