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;

int main() {
  int n;
  cin >> n;
  cout << '?';
  for (int i = 0; i < n; ++i) {
    cout << ' ' << i + 1;
  }
  cout << endl;
  string s0;
  cin >> s0;
  int l = 0, r = n;
  while (r - l > 1) {
    int m = (l + r) / 2;
    cout << '?';
    for (int i = m; i < m + n; ++i) {
      cout << ' ' << i + 1;
    }
    cout << endl;
    string s;
    cin >> s;
    if (s == s0) {
      l = m;
    } else {
      r = m;
    }
  }
  auto fn = [&](int i) -> char {
    cout << '?';
    for (int j = r; j < l + n; ++j) {
      cout << ' ' << j + 1;
    }
    cout << ' ' << i + 1;
    cout << endl;
    string s;
    cin >> s;
    return s[0];
  };
  string res(2 * n, '?');
  for (int i = 0; i < r; ++i) {
    res[i] = fn(i);
  }
  for (int i = l + n; i < 2 * n; ++i) {
    res[i] = fn(i);
  }
  vector<int> idx;
  int red = 0, blue = 0;
  for (int i = 0; i < 2 * n; ++i) {
    if (res[i] == 'R' and red < (n - 1) / 2) {
      idx.push_back(i);
      ++red;
    }
    if (res[i] == 'B' and blue < (n - 1) / 2) {
      idx.push_back(i);
      ++blue;
    }
  }
  for (int i = r; i < l + n; ++i) {
    cout << '?';
    for (int e : idx) {
      cout << ' ' << e + 1;
    }
    cout << ' ' << i + 1;
    cout << endl;
    string s;
    cin >> s;
    res[i] = s[0];
  }
  cout << "! " << res << endl;
}