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>
#include <string>

using namespace std;

char print(vector<int> &v) {
    cout << "?";
    for (auto x:v) cout << " " << x;
    cout << endl;

    string s;
    cin >> s;
    return s[0];
}

char reverse(char color) {
    return color == 'R' ? 'B' : 'R';
}

int main() {
    int n;
    cin >> n;

    vector<int> first(n);
    for (int i = 1; i <= n; i++)first[i - 1] = i;
    char firstColor = print(first);

    int same = 0;
    int dif = n;
    while (dif - same > 1) {
        int mid = (same + dif) / 2;

        vector<int> v(n);
        for (int i = 1; i <= n; i++)v[i - 1] = mid + i;
        char nowColor = print(v);

        if (nowColor == firstColor)same = mid;
        else dif = mid;
    }
    // same+1の色が確定

    string ret(2 * n, firstColor);
    vector<int> x(n);
    for (int i = 1; i <= n; i++)x[i - 1] = same + i;
    for (int i = 1; i <= 2 * n; i++) {
        if (i - same == 1)continue;
        if (0 < i - same && i - same <= n) {
            x[i - same - 1] = dif + n;
            ret[i - 1] = reverse(print(x));
            x[i - same - 1] = i;
        } else {
            x[0] = i;
            ret[i - 1] = print(x);
            x[0] = same + 1;
        }
    }

    cout << "! " << ret << endl;
    return 0;
}