//https://yukicoder.me/submissions/292157 を移植 const rl= […]
//https://yukicoder.me/submissions/292157 を移植 const rl= […]
//https://yukicoder.me/submissions/292157 を移植
const rl=require("readline").createInterface(process.stdin,process.stdout);
const readline=()=>new Promise(r=>rl.once("line",s=>r(s)));
(async function(){
var numMin=1;
var numMax=1000000001;
for(;;){
var chkNum=0|(numMin+numMax)/2;
console.log("? %d",chkNum);
if(await readline()=="1") numMin=chkNum; else numMax=chkNum;
if(numMin==numMax-1){
console.log("! %d",numMin);
break;
}
}
process.exit();
})();