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<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<functional>
#include<vector>
#include<queue>
#include<stack>
#include<set>
#include<map>
using namespace std;
#define MOD 1000000007
#define f(i,n) for(int i=0;i<(int)(n);i++)
#define N 20


int main() {
	char a[N];
	f(i, N)a[i] = 0;
	char b[N];
	f(i, N)b[i] = 0;
	int n, k;
	vector<int>pr;
	vector<int>pb;
	char c[400];
	f(i, 400)c[i] = 0;
	long long x, y, z;
	long long s, ans;
	bool v = true;
	ans = 0;
	scanf("%d", &n);
	int l = 1;
	int r = n+1;
	int m;
	printf("?");
	f(i, n)printf(" %d", i+1);
	printf("\n");
	fflush(stdout);
	scanf("%s", b);
	while ((l + 1) < r) {
		m = (l + r) / 2;
		printf("?");
		f(i, n)printf(" %d", m + i);
		printf("\n");
		fflush(stdout);
		f(i, N)a[i] = 0;
		scanf("%s", a);
		if (a[0] == b[0])l = m;
		else r = m;
	}
	f(i, 2 * n) {
		if (((i + 1) < r) || ((i + 1) > (l + n-1))) {
			printf("?");
			printf(" %d", i + 1);
			f(j, n-1)printf(" %d", r + j);
			printf("\n");
			fflush(stdout);
			f(i, N)a[i] = 0;
			scanf("%s", a);
			c[i] = a[0];
			if (a[0] == 'R') {
				if (pr.size() < ((n - 1) / 2))pr.push_back(i + 1);
			}
			else {
				if (pb.size() < ((n - 1) / 2))pb.push_back(i + 1);
			}
		}
	}
	f(i, 2 * n) {
		if (((i + 1) > l) && ((i + 1) < (l + n))) {
			printf("?");
			printf(" %d", i + 1);
			f(j, pr.size())printf(" %d", pr[j]);
			f(j, pb.size())printf(" %d", pb[j]);
			printf("\n");
			fflush(stdout);
			f(i, N)a[i] = 0;
			scanf("%s", a);
			c[i] = a[0];
		}
	}
	printf("! %s\n", c);
	fflush(stdout);
	return 0;
}