#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
using vi = vector<int>;
using vl = vector<ll>;

using _loop_int = int;
#define REP(i,n) for(_loop_int i=0; i<(_loop_int)(n); i++)
#define FOR(i,a,b) for(_loop_int i=(_loop_int)(a); i<(_loop_int)(b); i++)
#define FORR(i,a,b) for(_loop_int i=(_loop_int)(b)-1; i>=(_loop_int)(a); i--)

#define CHMIN(a,b) (a)=min((a),(b))
#define CHMAX(a,b) (a)=max((a),(b))
#define ALL(v) (v).begin(),(v).end()

#define DEBUG(x) cerr<<#x<<": "<<(x)<<endl
#define DEBUG_VEC(v) cerr<<#v<<": ";REP(__i,(v).size())cerr<<((v)[__i])<<", ";cerr<<endl

const ll MOD = 1000000007ll;

const bool DEBUG = false;
bool problem[252];
int qcnt;

int n;
bool ans[252];

void init(){
    if(!DEBUG){
        scanf("%d",&n);
    }else{
        n = 99;
        qcnt = 0;
        fill(ans, ans+n+n, false);
        REP(i,2*n)problem[i] = i<n;
        shuffle(problem, problem+n+n, random_device{});
        assert(count(problem, problem+n+n, true) == n);
    }
}
bool query(int i){  // query [i, i+n)
    if(!DEBUG){
        printf("?");
        REP(j,n)printf(" %d",(i+j)%(2*n) + 1);
        puts("");
        fflush(stdout);
        char buf[10];
        scanf("%s",buf);
        return buf[0]=='R';
    }else{
        qcnt++;
        int cnt = 0;
        REP(j,n)cnt += problem[(i+j)%(2*n)];
        return 2*cnt > n;
    }
}
bool query(int i, int a){   // query [i, i+n-1) \cup {a}
    if(!DEBUG){
        printf("?");
        REP(j,n-1)printf(" %d",(i+j)%(2*n) + 1);
        printf(" %d\n",a+1);
        fflush(stdout);
        char buf[10];
        scanf("%s",buf);
        return buf[0]=='R';
    }else{
        qcnt++;
        int cnt = 0;
        REP(j,n-1)cnt += problem[(i+j)%(2*n)];
        cnt += problem[a];
        return 2*cnt > n;
    }
}
bool query(vi &v){
    if(!DEBUG){
        printf("?");
        for(int x : v)printf(" %d",x + 1);
        puts("");
        fflush(stdout);
        char buf[10];
        scanf("%s",buf);
        return buf[0]=='R';
    }else{
        qcnt++;
        int cnt = 0;
        for(int x : v)cnt += problem[x];
        return 2*cnt > n;
    }
}
void answer(){
    if(!DEBUG){
        printf("! ");
        REP(i,2*n)putchar(ans[i] ? 'R' : 'B');
        puts("");
        fflush(stdout);
    }else{
        bool ok = qcnt <= 210;
        REP(i,2*n)ok = ok && ans[i]==problem[i];
        if(!ok){
            printf("ERROR\n");
            printf("n = %d\n",n);
            printf("problem = {");
            REP(i,2*n)printf("%d, ",problem[i]);
            printf("}\n");
            printf("answer  = {");
            REP(i,2*n)printf("%d, ",ans[i]);
            printf("}\n");
            exit(0);
        }
    }
}

bool contain(int i, int l, int r){
    r %= 2*n;
    if(r>l){
        return l<=i && i<r;
    }else{
        return l<=i || i<r;
    }
}

int main(){
    init();
    if(n==1){
        puts(query(0) ? "! RB" : "! BR");
        return 0;
    }
    // find eq range
    int beg;
    {
        bool x = query(0);
        int ok = x ? 0 : n;
        int ng = ok + n;
        while(abs(ok-ng)>1){
            int p = (ok+ng)/2;
            (query(p) ? ok : ng) = p;
        }
        beg = ok;
    }
    // assert(query(beg) && !query((beg+1) % (2*n)));
    // get answers
    ans[beg] = true;                // Red;
    ans[(beg+n-1) % (2*n)] = false; // Blue
    REP(i,2*n){
        if(contain(i, beg, beg+n+1))continue;
        ans[i] = query(beg+1, i);
    }
    // get another eq subset
    vi eq;
    int rcnt = 0, bcnt = 0;
    REP(i,2*n){
        if(contain(i, beg+1, beg+n))continue;
        if(rcnt < (n-1)/2 && ans[i]){
            eq.push_back(i);
            rcnt++;
        }
        if(bcnt < (n-1)/2 && !ans[i]){
            eq.push_back(i);
            bcnt++;
        }
    }
    assert(eq.size() == n-1);
    REP(i,2*n){
        if(!contain(i, beg+1, beg+n))continue;
        eq.push_back(i);
        assert(eq.size() == n);
        ans[i] = query(eq);
        eq.pop_back();
    }
    answer();
    return 0;
}


Measured memory_bytes: 724