from collections import deque def main(x): num = int(x) try: if x == a or x == b: if x == a: return '!',b else: return '!',a else: return '?',a+2,b+2 a=d.popleft() b=d.popleft() except: return '!',n-1 if __name__ == "__main__": n = int(input()) a_list = [i for i in range(n)] d = deque(a_list) a=d.popleft() b=d.popleft() print('?',a,b) for i in range(n): ans=list(main(input())) print(d) if ans[0] == '!': print(*ans) break else: print(*ans)