#!/usr/bin/env python3
import functools


@functools.lru_cache(None)
def query(x, y): return int(input(f"? {x} {y}\n"))


n = int(input())
x = y = n // 2 + 1
while True:
    ans, xx, yy = max((query(xx, yy), xx, yy) for xx, yy in [(x, y), (x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1)]
                      if 1 <= xx <= n and 1 <= yy <= n)
    if xx == x and yy == y:
        print(f"! {ans}"), exit()
    x, y = xx, yy
