#include int a[64], b[64]; int main() { int n; scanf("%d", &n); int i, j, k; j = k = -1; for (i = 0; i < n - 1; i++) { printf("? %d %d\n", i, n - 1); fflush(stdout); scanf("%d", &b[i]); if (b[i] > 0) { if (j < 0) j = i; else k = i; } } if (k < 0) { if (j < 0) { printf("! -1\n"); fflush(stdout); } else { if (b[j] > 1) { printf("! -1\n"); fflush(stdout); } else { for (i = 0; i < n; i++) a[i] = 0; a[n - 1] = a[j] = 1; printf("! "); for (i = n - 1; i >= 0; i--) printf("%d", a[i]); printf("\n"); fflush(stdout); } } } else { printf("? %d %d\n", j, k); fflush(stdout); int v; scanf("%d", &v); v = b[j] * b[j] / v; for (a[n - 1] = 0; a[n - 1] * a[n - 1] < v; a[n - 1]++); for (i = 0; i < n - 1; i++) a[i] = b[i] / a[n - 1]; printf("! "); for (i = n - 1; i >= 0; i--) printf("%d", a[i]); printf("\n"); fflush(stdout); } return 0; }