import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); long max = 1000000000; long next = 500000000; long min = 0; for (int i = 0; i < 100; i++) { System.out.print("? " + next); System.out.flush(); if (Integer.parseInt(br.readLine()) == 1) { min = next; next = next + (int) Math.ceil((max - next) / 2); if (max == next) { System.out.print("! " + next); System.out.flush(); return; } } else { max = next - 1; next = next - (int) ((next - min) / 2); if (min == next) { System.out.print("! " + next); System.out.flush(); return; } } } } }