#include <bits/stdc++.h>
using namespace std;
#define all(n) begin(n), end(n)
const long long INF = numeric_limits<long long>::max();
typedef long long ll;
typedef vector<int> vint;
typedef vector<vector<int>> vvint;
typedef vector<ll> vll;
typedef vector<vector<ll>> vvll;
typedef unsigned long long ull;
template <class T>
bool chmax(T &a, const T &b)
{
    if (a < b)
    {
        a = b;
        return 1;
    }
    return 0;
}
template <class T>
bool chmin(T &a, const T &b)
{
    if (b < a)
    {
        a = b;
        return 1;
    }
    return 0;
}
template <typename T>
vector<T> make_v(size_t a) { return vector<T>(a); }

template <typename T, typename... Ts>
auto make_v(size_t a, Ts... ts)
{
    return vector<decltype(make_v<T>(ts...))>(a, make_v<T>(ts...));
}
template <typename T, typename V>
typename enable_if<is_class<T>::value == 0>::type
fill_v(T &t, const V &v) { t = v; }

template <typename T, typename V>
typename enable_if<is_class<T>::value != 0>::type
fill_v(T &t, const V &v)
{
    for (auto &e : t)
        fill_v(e, v);
}
int main()
{
    int N;
    cin >> N;
    int first = 0, last = (N - 1);
    vector<string> mem(N);
    string str1, str2;
    if (mem[first] == "")
    {
        cout << first << endl;
        cin >> str1;
        if (str1 == "Vacant")
            return 0;
        mem[first] = str1;
    }

    if (mem[last] == "")
    {
        cout << last << endl;
        cin >> str2;
        if (str2 == "Vacant")
            return 0;
        mem[last] = str2;
    }
    for (size_t i = 0; i < 18; i++)
    {
        int mid = (first + last) / 2;
        string str;
        if(mem[mid]=="")
        {
            cout<<mid<<endl;
            cin>>str;
            if(str == "Vacant")
            return 0 ;
            mem[mid]=str;
        }

        if (abs(first - mid) % 2 == 0)
        {
            if (mem[first] == mem[mid])
                first = mid;
            else
                last = mid;
        }
        else if (abs(first - mid) % 2 != 0)
        {
            if (mem[first] == mem[mid])
                last = mid;
            else
                first = mid;
        }
    }

    return 0;
}
#include <bits/stdc++.h>

using namespace std;

#define fi first
#define se second
#define pb push_back
#define mp make_pair

typedef pair<int, int> ii;

int n;
string s, temp;
vector<int> vec;

int main() {
    cin.tie(0), ios::sync_with_stdio(0);
    cin >> n;
    cout << 0 << "\n";
    cout.flush();
    cin >> s;
    temp = s;
    if(temp == "Vacant")
        exit(0);
    for(int i = 2; i < n; i+=2)
        vec.pb(i);
    int l = 0;
    for(int i = 20; i >= 0; i--){
        if(l + (1 << i) < n){
            cout << l + (1 << i) << "\n";
            cout.flush();
            cin >> s;
            if(s == "Vacant")
                exit(0);
            else{
                if(temp == s)
                    l += (1 << i);
            }
        }
    }
    cout << l + 1 << "\n";
    cout.flush();
    cin >> s;
    exit(0);
}
