#include <bits/stdc++.h>

using namespace std;

int N;

bool ask1(int it){
    cout<<"? ";
    for(int i = 1; i <= N; i++)
        cout<<it + i - 1<<" ";
    cout<<endl;
    string str;
    cin>>str;
    if(str == "Red") return 1;
    else return 0 ;
}


bool ask2(int it,int pos){
    cout<<"? "<<pos<<" ";
    for(int i = 1; i <= it - 1; i++)
        cout<<i<<" ";
    for(int i = it + N + 1; i <= 2 * N; i++)
        cout<<i<<" ";
    cout<<endl;
    string str;
    cin>>str;
    if(str == "Red") return 1;
    else return 0 ;
}

bool ask3(int it,int pos){
    cout<<"? "<<pos<<" ";
    for(int i = it + 1; i <= it + N -1; i++)
        cout<<i<<" ";
    cout<<endl;
    string str;
    cin>>str;
    if(str == "Red") return 1;
    else return 0 ;
}

int main()
{
    cin>>N;
    int left = 1;
    int right = N + 1;
    int val = ask1(1);
    int it;
    while(left <= right){
        int mid = (left + right) / 2;
        if(val == ask1(mid)){
            it = mid;
            left = mid + 1;
        }
        else right = mid - 1;
    }

    char sol[2*N];
    if(!val){
        sol[it] = 'B';
        sol[it + N] = 'R';
    }
    else {
        sol[it] = 'R';
        sol[it + N] = 'B';
    }

    for(int i = it + 1; i <= it + N - 1; i++){
        //cout<<2<<" ";
        if(!ask2(it,i))
            sol[i] = 'B';
        else sol[i] = 'R';
    }

    for(int i = 1; i <= it - 1; i++){
        //cout<<3<<" ";
        if(!ask3(it,i))
            sol[i] = 'B';
        else sol[i] = 'R';
    }

    for(int i = it + N + 1; i <= 2 * N; i++){
        //cout<<3<<" ";
        if(!ask3(it,i))
            sol[i] = 'B';
        else sol[i] = 'R';
    }

    cout<<"! ";
    for(int i = 1; i <= 2 * N; i++)
        cout<<sol[i];
    return 0;
}
