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"
using namespace std;
typedef long long ll;
const int INF = (1<<30);
const ll INFLL = (1ll<<60);
const ll MOD = (ll)(1e9+7);

#define l_ength size

void mul_mod(ll& a, ll b){
	a *= b;
	a %= MOD;
}

void add_mod(ll& a, ll b){
	a = (a<MOD)?a:(a-MOD);
	b = (b<MOD)?b:(b-MOD);
	a += b;
	a = (a<MOD)?a:(a-MOD);
}

string rep;
char ans[222],fir;

int main(void){
	int n,i,j,l,r,x,y,m;
	cin >> n;
	l = 0; r = n;
	fill(ans,ans+222,'@');
	cout << "?";
	for(j=1; j<=n; ++j){
		cout << " " << (j);
	}
	cout << endl;
	cout.flush();
	cin >> rep;
	if(rep[0]=='-'){
		return 0;
	}
	fir = rep[0];
	while(r-l>1){
		m = (l+r)/2;
		cout << "?";
		for(j=1; j<=n; ++j){
			cout << " " << (m+j);
		}
		cout << endl;
		cout.flush();
		cin >> rep;
		if(rep[0]=='-'){
			return 0;
		}
		if(rep[0]==fir){
			l = m;
		}else{
			r = m;
		}
	}
	r = l+n; ++l;
	for(i=0; i<n*2; ++i){
		if(l<=i && i<r){
			continue;
		}
		cout << "? " << (i+1);
		for(j=l; j<r; ++j){
			cout << " " << (j+1);
		}
		cout << endl;
		cout.flush();
		cin >> rep;
		if(rep[0]=='-'){
			return 0;
		}
		ans[i] = rep[0];
	}
	for(i=l; i<r; ++i){
		cout << "? " << (i+1);
		x = (n-1)/2; y = (n-1)/2;
		for(j=0; j<2*n; ++j){
			if(l<=j && j<r){
				continue;
			}
			if(x && ans[j]=='R'){
				--x;
				cout << " " << (j+1);
			}
			if(y && ans[j]=='B'){
				--y;
				cout << " " << (j+1);
			}
		}
		cout << endl;
		cout.flush();
		cin >> rep;
		if(rep[0]=='-'){
			return 0;
		}
		ans[i] = rep[0];
	}
	cout << "! ";
	for(i=0; i<n*2; ++i){
		cout << ans[i];
	}
	cout << endl;
	cout.flush();
	return 0;
}