""" https://yukicoder.me/problems/no/850 トーナメントをすると、2位は1位に負けた中にいる """ from collections import deque N = int(input()) beat = {} q = deque( [i+1 for i in range(N)] ) while len(q) >= 2: a = q.popleft() b = q.popleft() print ("?",a,b,flush=True) win = int(input()) lose = a+b-win q.append(win) beat[lose] = win first = q.popleft() for v in beat: if beat[v] == first: q.append(v) while len(q) >= 2: a = q.popleft() b = q.popleft() print ("?",a,b,flush=True) win = int(input()) lose = a+b-win q.append(win) print ("!",q.popleft(),flush=True)