#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
typedef long long ll;
#define chmin(a,b) a=min(a,b)
#define chmax(a,b) a=max(a,b)
#define all(x) x.begin(),x.end()
#define rep(i,n) for(int i=0;i<n;i++)
#define mod 1000000007
#define mad(a,b) a=(a+b)%mod
ll n;
bool ask(ll x){
	cout<<"?";
	rep(i,n)cout<<" "<<x+i+1;
	cout<<"\n"<<flush;
	string s;
	cin>>s;
	return s=="Red";
}
vector<ll> X,Y;
bool solve(ll x){
	bool ok=1;
	for(auto t:X)if(t==x)ok=0;
	cout<<"?";
	if(ok){
		for(auto t:X)cout<<" "<<t+1;
	}
	else{
		for(auto t:Y)cout<<" "<<t+1;
	}
	cout<<" "<<x+1<<"\n"<<flush;
	string s; cin>>s;
	return s=="Red";
}
int main(){
	cin>>n;
	bool vl=ask(0);
	ll l=0,r=n,mid;
	while(l<r-1){
		mid=(l+r)>>1;
		if(ask(mid)==vl)l=mid;
		else r=mid;
	}
	for(int i=r;i<l+n;i++)X.push_back(i);
	for(int i=0;i<2*n;i++){
		bool th=0;
		if(i==l)th=1;
		if(i==r+n-1)th=1;
		for(auto t:X)if(t==i)th=1;
		if(th==0)Y.push_back(i);
	}
	string ans="";
	rep(i,2*n){
		bool res=solve(i);
		if(res)ans+="R";
		else ans+="B";
	}
	cout<<"! "<<ans<<"\n"<<flush;
	
	
}
