#include <bits/stdc++.h>

using namespace std;

int n;
int a[100005];

void query(int x)
{
    if(x<1 || x>n)
        return;

    if(a[x])
        return;

    printf("? %d\n", x);
    fflush(stdout);

    scanf("%d", &a[x]);
}
int solve(int st, int dr)
{
    if(st==dr)
        return st;

    int mij=(st+dr)/2;

    query(mij);
    query(mij+1);

    if(a[mij]<a[mij+1])
        return solve(st, mij);
    else
        return solve(mij+1, dr);
}
int main()
{
    cin>>n;

    a[0]=a[n+1]=n+1;

    printf("! %d\n", solve(1, n));
	fflush(stdout);
    return 0;
}
