#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
map<ll, bool>vis;
bool ask(ll x){
cout << "? " << x << endl;
vis[x] = true;
int k;
cin >> k;
return k == 1;
}
ll n;
namespace sub1{
void solve(){
ask(1);
for(int i = n, cur = 1; i > 1; i--){
if((n ^ i ^ 1) & 1){
if(!ask(cur += i - 1)){
return void(cout << "= " << i);
}
}
else if(!ask(cur -= i - 1)){
return void(cout << "= " << i);
}
}
cout << "= 1";
}
}
namespace sub2{
void solve(){
ask(1);
if(ask((n + 1) >> 1)){
for(int p = (n + 1) >> 1, d = n - p, z = 1; d > 1; d--, z ^= 1){
if(z){
if(!ask(p += d)){
return void(cout << "= " << d);
}
}
else if(!ask(p -= d)){
return void(cout << "= " << d);
}
}
return void(cout << "= 1");
}
int low_bound = (n + 1) >> 1;
ask(2);
for(int p = 2, d = n - 2, z = 1; d > low_bound; d--, z ^= 1){
if(z){
if(!ask(p += d)){
return void(cout << "= " << d);
}
}
else if(!ask(p -= d)){
return void(cout << "= " << d);
}
}
cout << "= " << low_bound;
}
}
namespace sub345{
void solve(){
}
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n;
if(n <= 64){
sub1::solve();
}
else if(n <= 125){
sub2::solve();
}
else{
sub345::solve();
}
}