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 bool boolean;
typedef vector<int> vec;

const int N = 200;

int n;

int ask(vec a) {
	static char buf[10];
	printf("?");
	for (auto x : a)
		printf(" %d", x);
	putchar('\n');
	fflush(stdout);
	scanf("%s", buf);
	return buf[0] == 'B' ? 0 : 1;
}

vec operator + (vec a, vec b) {
	for (auto x : b)
		a.push_back(x);
	return a;
}
vec V(int l, int r) {
	vec rt;
	for (int i = l; i <= r; i++)
		rt.push_back(i);
	return rt;
}

char ans[N];
char mp[5] = "BR";
int main() {
	scanf("%d", &n);
	int c1 = ask(V(1, n));
	int l = 1, r = n + 1, mid;
	while (l <= r) {
		mid = (l + r) >> 1;
		int cm = ask(V(mid, mid + n - 1));
		if (cm ^ c1) {
			r = mid - 1;
		} else {
			l = mid + 1;
		}
	}
	r = l + n - 2;
	vec base = V(l, r);
	for (int i = 1; i <= 2 * n; i++) {
		if (i < l || i > r) {
			ans[i] = mp[ask(base + (vec) {i})];
		}
	}
	base = V(1, l - 2) + V(r + 2, 2 * n);
	for (int i = l; i <= r; i++) {
		ans[i] = mp[ask(base + (vec) {i})];
	}
	printf("! %s\n", ans + 1);
	fflush(stdout);
	return 0;
}