Problem: This is an interactive task.

We have 2N balls arranged in a row, numbered 1, 2, 3, ..., 2N from left to right, where N is an odd number. Among them, there are N red balls and N blue balls.

While blindfolded, you are challenged to guess the color of every ball correctly, by asking at most 210 questions of the following form:

* You choose any N of the 2N balls and ask whether there are more red balls than blue balls or not among those N balls.



Now, let us begin.

Constraints

* 1 \leq N \leq 99
* N is an odd number.



* * *



Example

Input




Output

Solution (in CPP):

Solution:
    #include"bits/stdc++.h"
    #include<valarray>
     
    using namespace std;
    
    int n;
    set<int> s;
	#define MAX 402
	char ans[MAX];

    inline int query(){
		int red=0;
		int b=0;
		for(int i=1;i<=2*n;i++){
			if(ans[i]=='R'){
				red++;
			}
			if(ans[i]=='B'){
				b++;
			}
		}
		if(red==n){
			for(int i=1;i<=2*n;i++){
				if(ans[i]!='R'){
					ans[i]='B';
				}
			}
		}
		if(b==n){
			for(int i=1;i<=2*n;i++){
				if(ans[i]!='B'){
					ans[i]='R';
				}
			}
		}
		if(red==n||b==n){
			cout<<"! ";
	for(int i=1;i<=2*n;i++){
		cout<<ans[i];
	}
	cout<<endl;
	exit(0);
		}
		cout<<"?";
		for(int el:s){
			cout<<" "<<el;
		}
		cout<<endl;
		string ans;
		cin>>ans;
		return ans[0];
	} 
	char ok(int x){
		s.clear();
		for(int i=x;i<x+n;i++){
			s.insert(i);
		}
		return query();
	}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		s.insert(i);
	}
	char cur=query();
	int mint=1;
	int maxt=n+1;
	while(mint+1<maxt){
		int mid=(mint+maxt)/2;
		if(ok(mid)==cur){
			mint=mid+1;
		}
		else{
			maxt=mid;
		}
	}
	if(ok(mint)!=cur){
		maxt=mint;
	}
	else{
		mint=maxt;
	}
	for(int i=mint;i<=n+1;i++){
		char go=ok(i);
		if(cur!=go){
			ans[i-1]=cur;
			ans[i+n-1]=go;
			s.erase(i+n-1);
			for(int j=i-2;j>=1;j--){
				s.insert(j);
				ans[j]=query();
				s.erase(j);
			}
			for(int j=i+n;j<=2*n;j++){
				s.insert(j);
				ans[j]=query();
				s.erase(j);
			}
			s.insert(i+n-1);
			s.insert(i-1);
			for(int j=i;j<i+n-1;j++){
				s.erase(j);
				ans[j]=query();
				if(ans[j]=='R'){
					ans[j]='B';
				}
				else{
					ans[j]='R';
				}
				s.insert(j);
			}
			break;
		}
		continue;
	}
	cout<<"! ";
	for(int i=1;i<=2*n;i++){
		cout<<ans[i];
	}
	cout<<endl;
	return 0;
}