#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mp make_pair
#define pb push_back
#define rep(i,n) for(int i=0;i<n;i++)
#define rep1(i,n) for(int i=1;i<=(int)(n);i++)

bool check(string s){
  if(s == "Vacant") return true;
  else return false;
}

int main(){
  ios::sync_with_stdio(false);
  cin.tie(0);

  int n;
  cin >> n;
  cout << 0 << endl;
  vector<string> s(n);
  cin >> s[0];
  if(check(s[0])) return 0;  
  cout << n-1 << endl;
  cin >> s[n-1];
  if(check(s[n-1])) return 0;
  int lb =0;
  int ub = n-1;
  while(ub - lb>1){
    int mid = (ub+lb)/2;
    cout << mid << endl;
    cin >> s[mid];
    if(check(s[mid])) return 0;
    if((mid - lb)%2==0){
      if(s[mid]==s[lb]){
        lb = mid;
      }
      else{
        ub = mid;
      }
    }
    else{
      if(s[mid]!=s[lb]){
        lb = mid;
      }
      else{
        ub = mid;
      }
    }
  }
  cout << ub << endl;
  cin >> s[ub];
  if(check(s[ub])) return 0;
  cout << lb << endl;
  cin >> s[lb];
  return 0;
    

}

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define mp make_pair
#define PI pair<ll,ll>
#define poly vector<ll>
#define mem(a) memset((a),0,sizeof(a))
#define For(i,l,r) for(int i=(int)(l);i<=(int)(r);i++)
#define Rep(i,r,l) for(int i=(int)(r);i>=(int)(l);i--)
#define pb push_back
#define fi first
#define se second
#define SZ(x) ((int)(x.size()))
inline char gc(){
    static char buf[100000],*p1=buf,*p2=buf;
    return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}
#define gc getchar
inline ll read(){
	ll x = 0; char ch = gc(); bool positive = 1;
	for (; !isdigit(ch); ch = gc())	if (ch == '-')	positive = 0;
	for (; isdigit(ch); ch = gc())	x = x * 10 + ch - '0';
	return positive ? x : -x;
}
inline void write(ll a){
    if(a<0){
    	a=-a; putchar('-');
	}
    if(a>=10)write(a/10);
    putchar('0'+a%10);
}
inline void writeln(ll a){write(a); puts("");}
inline void wri(ll a){write(a); putchar(' ');}
ll rnd(){
	ull ans=0;
	For(i,0,4)ans=ans<<15^rand();
	return ans%((ull)1<<63);
}
const int N=10005;
int a[N],b[N];
void GG(){
	puts("No"); exit(0);
}
char ask(int t){
	cout<<t<<endl;
	string s;
	cin>>s;
	if(s[0]=='V')exit(0);
	return s[0];
}
void solve(int l,int r,char L){
	int mid=(l+r)>>1;
	char t=ask(mid);
	if((t==L)^(l%2)^(mid%2))solve(mid,r,t); else solve(l,mid,L);
}
int main(){
	#ifdef Brollan
		//freopen("1.in","r",stdin);
	#endif
	int n=read();
	ask(n-1);
	solve(0,n-1,ask(0));
}