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 <algorithm>
#include <iostream>
#include <vector>
#include <queue>
#include <cmath>
#include <set>
#include <map>
using namespace std;

void AddRange(vector<int>& a, int s, int e)
{
	for (int i = s; i <= e; ++i)
		a.push_back(i);
}
inline bool Red(const vector<int>& a)
{
	cout << "?";
	for (int i: a)
		cout << ' ' << i + 1;
	cout << endl;
	string res;
	cin >> res;
	if (res[0] == '-')
		exit(0);
	return (res[0] == 'R');
}
int main()
{
	ios::sync_with_stdio(false);
	int n;
	cin >> n;
	vector<int> cur;
	AddRange(cur, n, 2 * n - 1);
	bool rIsRed = Red(cur);
	int l = -1;
	int s = 0, e = n - 1;
	while (s <= e)
	{
		int mid = (s + e) / 2;
		vector<int> cur;
		AddRange(cur, mid, mid + n - 1);
		if (Red(cur) != rIsRed)
		{
			l = mid;
			s = mid + 1;
		}
		else
			e = mid - 1;
	}
	string ans(2 * n, '?');
	ans[l] = (rIsRed ? 'B' : 'R');
	ans[l + n] = (ans[l] == 'R' ? 'B' : 'R');
	for (int i = 0; i < l; ++i)
	{
		vector<int> cur;
		AddRange(cur, l + 1, l + n - 1);
		cur.push_back(i);
		ans[i] = (Red(cur) ? 'R' : 'B');
	}
	for (int i = 2 * n - 1; i > l + n; --i)
	{
		vector<int> cur;
		AddRange(cur, l + 1, l + n - 1);
		cur.push_back(i);
		ans[i] = (Red(cur) ? 'R' : 'B');
	}
	for (int i = l + 1; i < l + n; ++i)
	{
		vector<int> cur;
		AddRange(cur, 0, l - 1);
		AddRange(cur, l + n + 1, 2 * n - 1);
		cur.push_back(i);
		ans[i] = (Red(cur) ? 'R' : 'B');
	}
	cout << "! " << ans << endl;
}