#include <bits/stdc++.h>
using namespace std;
int main() {
  vector<long long int> ans(7);
  vector<pair<int, pair<int, int>>> nos;
  int arr[6] = {4, 8, 15, 16, 23, 42};
  for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 6; j++) {
      nos.push_back({arr[i] * arr[j], {arr[i], arr[j]}});
    }
  }
  int k1, l1, k2, l2;
  cout << "?"
       << " " << 1 << " " << 2;
  cout << "\n";
  fflush(stdout);
  long long int val;
  cin >> val;
  for (int j = 0; j < nos.size(); j++) {
    if (nos[j].first == val) {
      k1 = nos[j].second.first;
      l1 = nos[j].second.second;
    }
  }
  cout << "?"
       << " " << 2 << " " << 3;
  cout << "\n";
  fflush(stdout);
  long long int val2;
  cin >> val2;
  for (int j = 0; j < nos.size(); j++) {
    if (nos[j].first == val2) {
      k2 = nos[j].second.first;
      l2 = nos[j].second.second;
    }
  }
  if (k1 == k2) {
    ans[2] = k1;
    ans[1] = l1;
    ans[3] = l2;
  } else if (k1 == l2) {
    ans[2] = k1;
    ans[1] = l1;
    ans[3] = k2;
  } else if (l1 == k2) {
    ans[2] = k2;
    ans[1] = k1;
    ans[3] = l2;
  } else {
    ans[2] = l1;
    ans[1] = k1;
    ans[3] = k2;
  }
  int k3, l3, k4, l4;
  cout << "?"
       << " " << 4 << " " << 5;
  cout << "\n";
  fflush(stdout);
  long long int val3;
  cin >> val3;
  for (int j = 0; j < nos.size(); j++) {
    if (nos[j].first == val3) {
      k3 = nos[j].second.first;
      l3 = nos[j].second.second;
    }
  }
  cout << "?"
       << " " << 5 << " " << 6;
  cout << "\n";
  fflush(stdout);
  long long int val4;
  cin >> val4;
  for (int j = 0; j < nos.size(); j++) {
    if (nos[j].first == val4) {
      k4 = nos[j].second.first;
      l4 = nos[j].second.second;
    }
  }
  if (k3 == k4) {
    ans[5] = k3;
    ans[4] = l3;
    ans[6] = l4;
  } else if (k3 == l4) {
    ans[5] = k3;
    ans[4] = l3;
    ans[6] = k4;
  } else if (l3 == k4) {
    ans[5] = k4;
    ans[4] = k3;
    ans[6] = l4;
  } else {
    ans[5] = l3;
    ans[4] = k3;
    ans[6] = k4;
  }
  cout << "!"
       << " ";
  for (int i = 1; i < 7; i++) {
    cout << ans[i];
    cout << " ";
  }
  fflush(stdout);
}
