#include<bits/stdc++.h>
using namespace std;

long long n,dp[100010];

long long calc(long long x)
{
	if(x==n+1||x==0) return 0x3f3f3f3f;
	if(dp[x]) return dp[x];
	printf("? %lld\n",x);
	long long tmp;
	fflush(stdout);
	scanf("%lld",&tmp);
	dp[x]=tmp;
	return tmp;
}

long long calc1(long long x)
{
	return calc(x-1)<calc(x);
}

void solve(long long x,long long y)
{
	if(8>=y-x)
	{
		for(long long i=x;i<=y;i++)
		{
			if(calc(i-1)>calc(i)&&calc(i)<calc(i+1))
			{
				printf("! %lld\n",i);
				exit(0);
			}
		}
	}
	long long mid=(x+y)>>1;
	if(calc1(mid)) solve(x,mid);
	else solve(mid-1,y);
}

int main()
{
	scanf("%lld",&n);
	solve(1,n+1);
}