#include <bits/stdc++.h>
using namespace std;
int bitOn(int n, int pos) { return n | ((int)1 << pos); }
int isOn(int n, int pos) { return n & ((int)1 << pos); }
void solve() {
  printf("?");
  for (int i = 1; i <= 100; i++) printf(" %d", (i << 7));
  printf("\n");
  fflush(stdout);
  int least7bit;
  scanf("%d", &least7bit);
  printf("?");
  for (int i = 1; i <= 100; i++) printf(" %d", i);
  printf("\n");
  fflush(stdout);
  int most7bit;
  scanf("%d", &most7bit);
  int ans = 0;
  for (int i = 0; i < 7; i++) {
    if (isOn(least7bit, i)) ans = bitOn(ans, i);
  }
  for (int i = 7; i < 14; i++) {
    if (isOn(most7bit, i)) ans = bitOn(ans, i);
  }
  printf("! %d\n", ans);
}
int main() {
  int tc = 1;
  while (tc--) {
    solve();
  }
  return 0;
}
