#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <assert.h>
#define MAXN 100000
#define rep(E, F) for (E = 0; E < (F); E++)
int min(int a, int b) { if (a > b) return b; return a; }
int max(int a, int b) { if (a < b) return b; return a; }

int get_int()
{
	int r = 0, c = getchar(), s = 1;
	while (c != '-' && c < '0' || c > '9') c = getchar();
	while (c == '-') s *= -1, c = getchar();
	while (c >= '0' && c <= '9') r = r*10 + c - '0', c = getchar();
	return s*r;
}

int get_string(char* b, char t)
{
	int i = 0;
	b[i++] = getchar();
	while (b[i - 1] != t) b[i++] = getchar();
	b[i - 1] = '\0';
	return i - 1;
}

char s[100];
char query(int x, int y)
{
	printf("? %d %d\n", x + 1, y + 1);
	fflush(stdout);
	get_string(s, 10);
	return s[0];
}

int main() 
{
	int i, n = get_int();
	query(n, 0);
	return 0;
}

