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;
#define FOR(i, a, b) for(int i = (int)a; i <= (int)b; i++)
#define DEC(i, a, b) for(int i = (int)a; i >= (int)b; i--)
typedef pair<int, int> pi;
#define f first
#define s second
#define pb push_back

int n;
string res, ans;
char st;
vector<int> v;

char query(vector<int> &v) {
	string ret;
	cout << "? ";
	cout.flush();
	for (auto it:v) cout << it << " ";
	cout << "\n";
	cout.flush();
	v.clear();
	cin >> res;
	if (res == "-1") exit(0);
	return res[0];
}

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cin >> n;
	FOR(i, 1, 2*n) ans += " ";
	FOR(i, 1, n) v.pb(i);
	st = query(v);
	int upper = n+1, lower = 1;
	while (upper - lower > 1) {
		int mid = (upper + lower)/2;
		FOR(i, mid, mid+n-1) v.pb(i);
		if (query(v) != st) upper = mid;
		else lower = mid;
	}
	ans[upper + n - 1 - 1] = (st == 'R' ? 'B' : 'R');
	ans[upper - 1 - 1] = st;
	FOR(i, 1, 2*n) {
		if (ans[i-1] != ' ' or (i >= upper and i < upper + n - 1)) continue;
		if (i < upper - 1) {
			v.pb(i);
			FOR(j, upper, upper + n - 2) v.pb(j);
		} else {
			FOR(j, upper, upper + n - 2) v.pb(j);
			v.pb(i);
		}
		ans[i-1] = query(v);
	}
	vector<int> vv; vv.clear();
	int nr = 0, nb = 0;
	FOR(i, 0, 2*n-1) {
		if (ans[i] == ' ' or vv.size() == n-1) continue;
		if (ans[i] == 'B' and nb < (n-1)/2) {vv.pb(i+1); nb++;}
		else if (ans[i] == 'R' and nr < (n-1)/2) {vv.pb(i+1); nr++;}
	}
	FOR(i, upper, upper + n - 2) {
		v = vv; v.pb(i);
		ans[i-1] = query(v);
	}
	cout << "! " + ans << "\n";
	cout.flush();
	exit(0);
}