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;
#define int long long
const int MOD = 1000000007;
int N;
vector<int> X;
int ask(vector<int> &A) {
    // int t = 0;
    // for (int i = 0; i < N; i++) {
    //     t += 2 * X[A[i]] - 1;
    // }
    // if (t > 0) {
    //     return 1;
    // } else {
    //     return 0;
    // }
    cout << "?";
    for (int i = 0; i < A.size(); i++) {
        cout << " " << A[i] + 1;
    }
    cout << endl;
    cout << flush;
    string res;
    cin >> res;
    return res[0] == 'R' ? 1 : 0;
}
int askseq(int a) {
    vector<int> A(N);
    for (int i = 0; i < N; i++) {
        A[i] = a + i;
    }
    return ask(A);
}
signed main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    cin >> N;
    // X.resize(2 * N);
    // for (int i = 0; i < 2 * N; i++) {
    //     cin >> X[i];
    // }
    int l = 0;
    int r = N;
    int ll = askseq(l);
    int rr = 1 - ll;
    while (r - l > 1) {
        int m = (r + l) / 2;
        int t = askseq(m);
        if (t == ll) {
            l = m;
        } else {
            r = m;
        }
    }
    // cerr << l << " " << r << endl;
    string res(2 * N, 'R');
    vector<int> A;
    vector<int> B;
    for (int i = r; i < l + N; i++) {
        A.push_back(i);
    }
    for (int i = 0; i < l; i++) {
        B.push_back(i);
    }
    for (int i = r + N; i < 2 * N; i++) {
        B.push_back(i);
    }
    // cerr << A.size() << " " << B.size() << endl;
    for (int i = 0; i < 2 * N; i++) {
        int t;
        if (i < r || i >= r + N) {
            A.push_back(i);
            t = ask(A);
            A.pop_back();
        } else {
            B.push_back(i);
            t = ask(B);
            B.pop_back();
        }
        res[i] = (t == 1 ? 'R' : 'B');
    }
    cout << "! " << res << endl;
    cout << flush;
}