#include <bits/stdc++.h>
using namespace std;
int a[6] = {4, 8, 15, 16, 23, 42}, b[6], c[4];
bool solve(int mask, int n) {
  if (n == 6) {
    for (int i = 1; i < 5; i++) {
      if (b[i] * b[i - 1] != c[i - 1]) {
        return false;
      }
    }
    cout << "! ";
    for (int i = 0; i < 6; i++) {
      cout << b[i] << " ";
    }
    cout << endl;
    return true;
  } else {
    for (int i = 0; i < 6; i++) {
      if ((mask & (1 << i)) == 0) {
        if (n == 0 || n == 5 || a[i] * b[n - 1] == c[n - 1]) {
          b[n] = a[i];
          if (solve(mask | (1 << i), n + 1)) {
            return true;
          }
        }
      }
    }
  }
  return false;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cout << "? " << 1 << " " << 2 << endl;
  cin >> c[0];
  cout << "? " << 2 << " " << 3 << endl;
  cin >> c[1];
  cout << "? " << 3 << " " << 4 << endl;
  cin >> c[2];
  cout << "? " << 4 << " " << 5 << endl;
  cin >> c[3];
  solve(0, 0);
  return 0;
}
