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:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<sstream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<climits>
#include<cmath>
#include<string>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<numeric>
#include<functional>
#include<algorithm>
#include<bitset>
#include<tuple>
#include<unordered_set>
#include<unordered_map>
#include<random>
#include<array>
#include<cassert>
using namespace std;
#define INF (1<<29)
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define all(v) v.begin(),v.end()
#define uniq(v) v.erase(unique(all(v)),v.end())


int n, cnt;
char ans[200];


void f(const set<int> &balance) {
	string res;
	rep(i, 2 * n) {
		if (balance.count(i) || ans[i] != 0)continue;
		cout << "?";
		for (int x : balance)cout << ' ' << x + 1;
		cout << ' ' << i + 1 << endl;
		cin >> res;
		if (res == "Red")ans[i] = 'R';
		else ans[i] = 'B';
	}
}


int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> n;
	
	string res;
	cout << '?';
	rep(i, n)cout << ' ' << i + 1;
	cout << endl;

	cin >> res;
	int lb = 0, ub = n;
	while (ub-lb>1) {
		int mid = (lb + ub) / 2;
		cout << '?';
		rep(i, n) {
			if (i < mid)cout << ' ' << i + n + 1;
			else cout << ' ' << i + 1;
		}
		cout << endl;
		string r;
		cin >> r;
		if (res == r)lb = mid;
		else ub = mid;
	}

	set<int> balance;
	rep(i, n) {
		if (i == lb)continue;
		if (i < lb)balance.insert(i + n);
		else balance.insert(i);
	}
	f(balance);

	set<int> balance2;
	int nr = 0, nb = 0;
	rep(i, 2 * n) {
		if (ans[i] == 'R' && nr < (n - 1) / 2) {
			balance2.insert(i);
			nr++;
		}
		else if (ans[i] == 'B' && nb < (n - 1) / 2) {
			balance2.insert(i);
			nb++;
		}
	}
	f(balance2);


	cout << "! ";
	rep(i, 2 * n)cout << ans[i];
	cout << endl;


	return 0;
}