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)
    if (f(i) * f(j) < 0) then
      if (f(i) - f(j) > 0) then
        a(i) = 1
        a(idx(i + n)) = -1
      else
        a(i) = -1
        a(idx(i + n)) = 1
      end if
    end if
  end do
  do i = 1, 2 * n
    s(i:i) = merge('R', 'B', a(i) == 1)
  end do
  write(6,'("! ",a)') trim(s)
  flush(6)
contains
  integer function idx(i) result(res)
    integer, intent(in) :: i
    res = mod(i - 1, 2 * n) + 1
  end
  integer function query(q) result(res)
    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
    res = merge(1, -1, judge == 'R')
  end
end program majority_of_balls