#include using namespace std; using Int = long long; constexpr static int mod = 1e9 + 7; constexpr static int inf = (1 << 30) - 1; constexpr static Int infll = (1LL << 61) - 1; int Competitive_Programming = (ios_base::sync_with_stdio(false), cin.tie(nullptr), cout << fixed << setprecision(15), 0); #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") int main() { int p1 = 0, q1 = 0, p2 = 100, q2 = 0; cout << "? " << p1 << " " << q1 << endl; int d1, d2; cin >> d1; cout << "? " << p2 << " " << q2 << endl; cin >> d2; for (int i = 0; i <= 100; i++) { for (int j = 0; j <= 100; j++) { if ((p1 - i) * (p1 - i) + (q1 - j) * (q1 - j) == d1 and (p2 - i) * (p2 - i) + (q2 - j) * (q2 - j) == d2) { cout << "! " << i << " " << j << endl; return 0; } } } }