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 <algorithm>
#include <iomanip>
#include <vector>
#include <queue>
#include <set>
#include <map>

using namespace std;
typedef long long ll;
bool used[100];

string ask(vector<int> v){
    cout << "? ";
    for(int i = 0; i < v.size(); i++) {
        if(i+1 == v.size()) cout << v[i] << endl;
        else cout << v[i] << ' ';
    }
    string res;
    cin >> res;
    return res;
}

char ans[300];

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout << setprecision(10) << fixed;
    int N;
    cin >> N;
    vector<int> blue, red;
    int s = blue.size();
    int l = 1;
    int r = N+1;
    vector<int> buf;
    for(int j = 1; j <= N; j++){
        buf.push_back(j);
    }  
    string res = ask(buf);
    while(r-l > 1){
        int c = (l+r)/2;
        buf.clear();
        for(int j = c; j < N+c; j++){
            buf.push_back(j);
        }
        string tmp = ask(buf);
        if(tmp == res) l = c;
        else r = c;
    }
    vector<int> b1, b2;
    // cout << l << ' ' << r << endl;
    for(int i = l+1; i <= l+N-1; i++) b1.push_back(i);
    for(int i = 1; i <= l-1; i++) b2.push_back(i);
    for(int i = l+N+1; i <= 2*N; i++) b2.push_back(i);
    for(int i = 1; i <= l; i++){
        b1.push_back(i);
        string res = ask(b1);
        b1.pop_back();
        if(res == "Red") ans[i] = 'R';
        else ans[i] = 'B';
    }
    for(int i = l+N; i <= 2*N; i++){
        b1.push_back(i);
        string res = ask(b1);
        b1.pop_back();
        if(res == "Red") ans[i] = 'R';
        else ans[i] = 'B';
    }
    for(int i = l+1; i <= l+N-1; i++){
        b2.push_back(i);
        string res = ask(b2);
        b2.pop_back();
        if(res == "Red") ans[i] = 'R';
        else ans[i] = 'B';
    }
    cout << "! ";
    for(int i = 1; i <= 2*N; i++) cout << ans[i];
    cout << endl;
}