#define _CRT_SECURE_NO_WARNINGS
#define _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING
#include <bits/stdc++.h>
using namespace std;
int main()
{
    puts("? 1 2");
    puts("? 2 3");
    puts("? 4 5");
    puts("? 5 6");
    fflush(stdout);
    int a[] = {4, 8, 15, 16, 23, 42};
    int a12, a23, a45, a56;
    scanf("%d%d%d%d", &a12, &a23, &a45, &a56);
    do
        if (a[0] * a[1] == a12 &&
            a[1] * a[2] == a23 &&
            a[3] * a[4] == a45 &&
            a[4] * a[5] == a56)
        {
            printf("! %d %d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4], a[5]);
            fflush(stdout);
            break;
        }
    while (next_permutation(a, a + 6));
    return 0;
}
