#include using namespace std; template istream& operator >> (istream& is, vector& vec) { for(T& x : vec) is >> x; return is; } template ostream& operator << (ostream& os, const vector& vec) { if(vec.empty()) return os; os << vec[0]; for(auto it = vec.begin(); ++it != vec.end(); ) os << ' ' << *it; return os; } int main(){ ios::sync_with_stdio(false); cin.tie(0); int A, B, C; cout << "? 1" << endl; cin >> A; if(A == 0){ // A + 1 == B // (A + 100) % B == C cout << "? 100" << endl; cin >> C; for(int B = 1; B <= 100; B++){ if((100 + B - 1) % B == C){ cout << "! " << B - 1 << " " << B << endl; return 0; } } } A -= 1; cout << "? 100"<< endl; cin >> C; for(int B = 1; B <= 100; B++){ if((100 + A) % B == C){ cout << "! " << A << " " << B << endl; return 0; } } }