import kotlin.math.* import java.lang.StringBuilder import java.util.* fun main(args:Array) { solve() } fun solve(){ val n = readLine()!!.toInt() var l = 1 var r = n var R = n / 2 var L = 0 while(r - l > 0){ val div1 = (r + l * 3) / 4 val div2 = (r * 3 + l) / 4 println("? $div1") val s1 = readLine()!!.toInt() println("? $div2") val s2 = readLine()!!.toInt() val lenR = r - div1 val lenL = div2 - l + 1 val frontR = R - s1 val frontL = s2 - L val backR = lenR - frontR val backL = lenL - frontL val maxR = max(frontR, backR) val maxL = max(frontL, backL) if(frontR == backR){ println("! ${div1 + 1} $r") break } else if(frontL == backL){ println("! $l $div2") break } else if(maxR >= maxL){ r = div2 R = s2 } else{ l = div1 + 1 L = s1 } } }