#include <bits/stdc++.h>
using namespace std;

int main(){
    int n;
    cin >> n;

    cout << "?";
    for(int i=0; i<n; i++) cout << " " << i+1;
    cout << endl;

    string left;
    cin >> left;

    int upper = n, lower = 0, mid;
    while(upper - lower > 1){
        mid = (upper + lower) / 2;

        cout << "?";
        for(int i=mid; i<mid+n; i++) cout << " " << i+1;
        cout << endl;

        string response;
        cin >> response;
        if(response == "-1") return 0;
        if(response == left) lower = mid;
        if(response != left) upper = mid;
    }
    //cout << "lower : " << lower << endl;

    vector<char> ans(2*n, '.');
    if(left == "Red"){  ans[lower] = 'R'; ans[lower+n] = 'B'; }
    if(left == "Blue"){ ans[lower] = 'B'; ans[lower+n] = 'R'; }

    for(int i=lower+n+1; i<lower+2*n; i++){
        cout << "? " << (i % (2*n) + 1);
        for(int j=lower+1; j<lower+n; j++) cout << " " << j + 1;
        cout << endl;
        string response;
        cin >> response;
        if(response == "-1")   return 0;
        if(response == "Red")  ans[i % (2*n)] = 'R';
        if(response == "Blue") ans[i % (2*n)] = 'B';
    }
    for(int i=lower+1; i<lower+n; i++){
        cout << "? " << i + 1;
        for(int j=lower+n+1; j<lower+2*n; j++) cout << " " << (j % (2*n) + 1);
        cout << endl;
        string response;
        cin >> response;
        if(response == "-1")   return 0;
        if(response == "Red")  ans[i] = 'R';
        if(response == "Blue") ans[i] = 'B';
    }
    
    cout << "! ";
    for(char a : ans) cout << a;
    cout << endl;
    return 0;
}