def query(i, x, j, y): print('?', i, x, j, y, flush=True) response = input() if response == "Yes": return True elif response == "No": return False else: assert False def output_answer(n, i1, j1, i2, j2, i3, j3): out = [] for _ in range(n): out += [i1, j1] for _ in range(n): out += [i2, j2] for _ in range(n): out += [i3, j3] print('!', *out, flush=True) n = int(input()) if query(2, 1, 3, 1): if query(1, 1, 2, 1): i1, j1 = 2, 3 else: i1, j1 = 1, 3 else: if query(1, 1, 3, 1): i1, j1 = 2, 3 else: i1, j1 = 1, 2 i2 = i1 ^ j1 if query(i1, n + 1, j1, n + 1): j2 = j1 else: j2 = i1 i3, j3 = i2, j2 ^ i1 ^ j1 output_answer(n, i1, j1, i2, j2, i3, j3)