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<iostream>
#include<vector>
using namespace std;

int n;
char ans[220];

char ask_range(int l){
	cout << "?";
	for(int i = 0;i < n;i++){
		cout << " " << l + i + 1;
	}cout << endl;
	string ans;
	cin >> ans;
	return ans[0];
}
char ask_vec(vector<int> vec){
	cout << "?";
	for(int i = 0;i < n;i++){
		cout << " " << vec[i] + 1;
	}cout << endl;
	string ans;
	cin >> ans;
	return ans[0];
}



int main(){
	cin >> n;
	int bottom = 0, top = n;
	
	char l = ask_range(bottom);
	char r = ask_range(top);
	while(top - bottom > 1){
		int mid = (top + bottom) / 2;
		if(ask_range(mid) == l)bottom = mid;
		else top = mid;
	}
	vector<int> same_range, same_outer;
	for(int i = 1;i < n;i++){
		same_range.push_back(bottom+i);
	}
	for(int i = 0;i < bottom;i++)same_outer.push_back(i);
	for(int i = bottom + n+1;i < 2*n;i++)same_outer.push_back(i);
	for(int i = 0;i < 2*n;i++){
		if(i == bottom)ans[i] = l;
		else if(i == bottom + n)ans[i] = r;
		else if(i < bottom  || bottom + n < i){
			same_range.push_back(i);
			ans[i] = ask_vec(same_range);
			same_range.pop_back();
		}
		else{
			same_outer.push_back(i);
			ans[i] = ask_vec(same_outer);
			same_outer.pop_back();
			
		}
	}
	cout << "! " ;
	for(int i = 0;i < 2*n;i++){
		cout << ans[i];
	}cout << endl;
	
}