#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1e9 + 7;
const long long int INF = 1011111111;
const long long int LLINF = 1000111000111000111LL;
const long double EPS = 1e-10;
const long double PI = 3.14159265358979323;
int32_t main() {
  std::vector<long long int> v = {4, 8, 15, 16, 23, 42};
  long long int q[5];
  for (int i = 1; i <= 4; i++) {
    cout << "? " << i << " " << i + 1 << endl;
    cin >> q[i];
  }
  for (int i = 0; i < 720; i++) {
    if (v[0] * v[1] == q[1] && v[1] * v[2] == q[2] && v[2] * v[3] == q[3] &&
        v[3] * v[4] == q[4]) {
      cout << "! ";
      for (auto it : v) cout << it << " ";
      cout << endl;
      return 0;
    }
    next_permutation((v).begin(), (v).end());
  }
  return 0;
}
