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 <algorithm>
#include <bitset>
#include <cassert>
#include <cmath>
#include <complex>
#include <cstdint>
#include <cstdio>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <tuple>
#include <utility>
#include <vector>
using namespace std;
// }}}

using ll = long long;

char query(vector<int> arr) {
    cout << "?";
    for (int v : arr) {
        cout << " " << v;
    }
    cout << endl;
    string ret;
    cin >> ret;
    return ret == "Red" ? 'R' : 'B';
}

int N;
char init_color, color;

int main() {
    cin >> N;

    // phase 1
    vector<int> arr0;
    for (int i = 1; i <= N; ++i) {
        arr0.push_back(i);
    }
    init_color = query(arr0);

    int l = 0, r = N; 
    while (l < r) {
        int m = (l+r) / 2;
        vector<int> arr;
        for (int j = 1; j <= N; ++j) {
            arr.push_back(j <= m ? j+N : j);
        }
        sort(begin(arr), end(arr));
        color = query(arr);
        if (color == init_color) {
            l = m+1;
        } else {
            r = m;
        }
    }
    
    char ans[300];
    ans[2*N] = '\0';
    for (int i = 1; i <= 2*N; ++i) {
        vector<int> arr;
        arr.push_back(i);
        if (i <= r || r+N+1 <= i) {
            for (int j = r+1; j < r+N; ++j) arr.push_back(j);
        } else {
            for (int j = 1; j < r; ++j) arr.push_back(j);
            for (int j = r+N+1; j <= 2*N; ++j) arr.push_back(j);
        }
        sort(begin(arr), end(arr));
        color = query(arr);
        ans[i] = color;
    }
    cout << "! ";
    for (int i = 1; i <= 2*N; ++i) {
        cout << ans[i];
    }
    cout << endl;

    return 0;
}