#class TS
#  def initialize(n, c)
#    @n = n
#    @c = c
#    @q = [n]
#    @limit = 210
#  end
#  
#  def gets
#    if @limit < 0
#      "time limit exceeded\n"
#    elsif @q.size == 0
#      "no output"
#    else
#      @q.shift.to_s + "\n"
#    end
#  end
#  
#  def puts(w)
#    $stderr.puts "puts(#{w})"
#    w = w.split
#    cmd = w.shift
#    if cmd == '?'
#      r = 0
#      b = 0
#      w.map(&:to_i).each do |i|
#        if @c[i-1] == 'R'
#          r += 1
#        elsif @c[i-1] == 'B'
#          b += 1
#        else
#          $stderr.puts("c[#{i}] = #{@c[i-1]}")
#          @q.push(-1)
#          return
#        end
#      end
#      if r > b
#        $stderr.puts("Red > Blue")
#        @q.push("Red")
#      elsif r < b
#        $stderr.puts("Red < Blue")
#        @q.push("Blue")
#      else
#        $stderr.puts("Red <?> Blue")
#        @q.push(-1)
#      end
#    elsif cmd == '!'
#      $stderr.puts("a=#{@c}")
#      @q.push(w[0] == @c)
#    else
#      $stderr.push("unknown cmd #{w}")
#      @q.push(-1)
#   end
#  end
#end

class TC
  def initialize(stdin = $stdin, stdout = $stdout)
    @stdin = stdin
    @stdout = stdout
  end
  attr_accessor :stdin, :stdout
  
  def gets
    stdin.gets
  end
  
  def puts(w)
    stdout.puts(w)
    stdout.flush
  end
end

# サンプル通りの応答の確認
#ts = TS.new(3, 'RRBBRB')
#$stderr.puts ts.gets
#ts.puts "? 1 2 3"
#$stderr.puts ts.gets
#ts.puts "? 2 4 6"
#$stderr.puts ts.gets
#ts.puts "! RRBBRB"
#$stderr.puts ts.gets

def lookup(ts)
  n = ts.gets.to_i
  c = (1..(n*2)).map do |i|
    ts.puts("? #{i}")
    ret = ts.gets
    if ret.to_i == -1
      return "failed"
    end
    ret[0]
  end.join('')
  ts.puts("! #{c}")
  ts.gets
end

#ts = TS.new(3, 'RRBBRB')
#$stderr.puts lookup(ts)
#
#$stderr.puts lookup(TS.new(1, 'RB'))
#$stderr.puts lookup(TS.new(1, 'BR'))
lookup(TC.new())