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

int query(int l, int r)
{
    if (l >= r)
        return -1;
    cout << "? " << l << " " << r<< endl;
    int i;
    cin >> i;
    return i;
}

void solve()
{
    int n;
    cin >> n;
int ans;
    int smax = query(1,n);
    if (query(1, smax) == smax)
    {
        int l=1,r=smax-1;
        while(l<=r)
        {
            int mid= (l+r)/2;
            if(query(mid,smax)==smax)
            {
                ans=mid;
                l=mid+1;
            }
            else{
                r=mid-1;
            }
        }
    }
    else
    {
         int l=smax+1,r=n;
        while(l<=r)
        {
            int mid= (l+r)/2;
            if(query(smax,mid)==smax)
            {
                ans=mid;
                r=mid-1;
            }
            else{
                l=mid+1;
            }
        }
    }

    cout << "! " << ans << endl;
}

signed main()
{
    int t = 1;
    // cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}