#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define rrep(i,a,b) for(int i=(a);i>=(b);--i)
#define PB push_back
typedef long long LL;
const LL P = 1e9+7;
const int INF = 1e9;
const int N = 220;
const double pi = acos(-1);
mt19937 rng(time(0));

char s[100];
bool ans[N];
int n, a[N];

bool qry1(int l){
	cout<<"? ";
	rep(i,l,l+n-1) cout<<i<<" ";
	cout<<endl<<flush;
	cin>>s;
	return s[0]=='R';
}

bool qry2(int x, int l){
	cout<<"? "<<x<<" ";
	rep(i,l,l+n-2) cout<<i<<" ";
	cout<<endl<<flush;
	cin>>s;
	return s[0]=='R';
}

bool qry3(int x, int l, int r){
	cout<<"? "<<x<<" ";
	rep(i,1,l) cout<<i<<" ";
	rep(i,r,n<<1) cout<<i<<" ";
	cout<<endl<<flush;
	cin>>s;
	return s[0]=='R';
}

int main(){
	#ifndef ONLINE_JUDGE
	//freopen("test.in","r",stdin);
	#endif
	
	cin>>n;
	bool begin = qry1(1);
	int l = 1, r = n+1;
	while(l+1<r){
		int mid = l+r>>1;
		if(qry1(mid)==begin) l = mid;
		else r = mid;
	}
	//cout<<l<<" "<<r<<endl;
	ans[l] = begin, ans[r+n-1] = !begin;
	
	rep(i,1,l-1) ans[i] = qry2(i,l+1);
	rep(i,r+n,n<<1) ans[i] = qry2(i,l+1);
	
	rep(i,l+1,r+n-2) ans[i] = qry3(i,l-1,r+n);
	
	cout<<"! ";
	rep(i,1,n<<1) cout<<(ans[i]?'R':'B');
	cout<<endl<<flush;
	return 0;
}