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>
#define MOD 1000000007LL
using namespace std;
typedef long long ll;
typedef pair<int,int> P;

int n;
int query[205];
int ans[205];

int send_q(){
	printf("?");
	for(int i=0;i<n;i++){
		printf(" %d",query[i]);
	}
	printf("\n");
	fflush(stdout);
	string str;
	cin >> str;
	if(str=="Blue")return 1;
	return 0;
}

void send_a(){
	printf("! ");
	for(int i=0;i<n*2;i++){
		if(ans[i]==1){
			printf("B");
		}else{
			printf("R");
		}
	}
	printf("\n");
	fflush(stdout);
}

int send_q_bs(int f){
	for(int i=0;i<n;i++){
		query[i]=f+i+1;
	}
	return send_q();
}


int main(void){
	scanf("%d",&n);
	bool flag=false;
	int l=0,r=n;
	int lv=send_q_bs(l);
	int rv=send_q_bs(r);
	while(l+1<r){
		int mid=(l+r)/2;
		int mv=send_q_bs(mid);
		if(lv==mv && mv==rv){
			l=mid;
		}else if(lv==mv){
			l=mid;
		}else{
			r=mid;
		}
	}
	memset(ans,-1,sizeof(ans));
	int i=l;
	//printf("%d\n",i);
	for(int j=0;j<=i;j++){
		for(int k=0;k<n-1;k++){
			query[k]=i+k+2;
		}
		query[n-1]=j+1;
		ans[j]=send_q();
	}
	//send_a();
	for(int j=i+n;j<n*2;j++){
		for(int k=0;k<n-1;k++){
			query[k]=i+k+2;
		}
		query[n-1]=j+1;
		ans[j]=send_q();
	}
	//send_a();
	for(int j=i+n-1;j>=i+1;j--){
		int pos=0;
		for(int k=i+1;k<i+n;k++){
			if(j==k)continue;
			query[pos++]=k+1;
		}
		query[n-2]=i+1;
		query[n-1]=i+n+1;
		ans[j]=1-send_q();
	}
	send_a();
	return 0;
}