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;
#define x first
#define y second
#define mp make_pair
#define pb push_back
#define sz(a) (int)(a.size())
const int N = 1005;
char color[205];
int n;
int perm[205] , inv[205];
int cnt = 0;
bool query(vector<int> v)
{
	cnt++;
	if(cnt == 211)
	{
		set<int> s;
		for(int i = 0; i < 10000 * 10000; i++)
			s.insert(i);
		cout << *s.begin() << endl;
	}
	cout << "?";
	for(auto x : v)
		cout << " " << perm[x] + 1;
	cout << endl;
	string resp;
	cin >> resp;
	return resp == "Red";
}
int f(int x)
{
	vector<int> v;
	for(int i = 0; i < n; i++)
		v.pb(i + x);
	return query(v);
}
int main()
{
	ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	srand(time(NULL) + 47);
	cin >> n;
	for(int i = 0; i < 2 * n; i++)
	{
		perm[i] = i;
	}
	for(int i = 0; i < 2 * n; i++)
		inv[perm[i]] = i;
	vector<int> v;
	for(int i = 0; i < n; i++)
		v.pb(i);
	int resp = query(v);
	bool was = false;
	
	int L = 0 , R = n;
	while(R - L > 1)
	{
		int M = (L + R) / 2;
		
		if(f(M) == resp)
			L = M;
		else
			R = M;
	}
	
	vector<int> v2;
	for(int j = L + 1; j < L + n; j++)
		v2.pb(j);
	v2.pb(-1);
	int cntR = 0 , cntB = 0;
	for(int j = 0; j < 2 * n; j++)
	{
		if(j >= L + 1 && j < L + n)
			continue;

		v2.back() = j;
		int resp3 = query(v2);
		color[j] = resp3 ? 'R' : 'B';
	}
	v2.clear();
	for(int j = 0; j < 2 * n; j++)
	{
		if(color[j] == 'R' && cntR < n / 2)
		{
			cntR++;
			v2.pb(j);
		}
		if(color[j] == 'B' && cntB < n / 2)
		{
			cntB++;
			v2.pb(j);
		}
	}
	
	v2.pb(-1);
	
	for(int j = L + 1; j < L + n; j++)
	{
		v2.back() = j;
		int resp3 = query(v2);
		color[j] = resp3 ? 'R' : 'B';	
	}
		
	cout << "! ";
	for(int i = 0; i < 2 * n; i++)
		cout << color[inv[i]];
	cout << endl;
	
}