;https://yukicoder.me/problems/no/246 (let ( (numMin 1) […]
;https://yukicoder.me/problems/no/246 (let ( (numMin 1) […]
;https://yukicoder.me/problems/no/246(let ((numMin 1)(numMax 1000000001))(loop(let ((chkNum (floor(/(+ numMin numMax) 2))))(format t "? ~d~%" chkNum)(finish-output)(if (string=(read-line) "1") (setf numMin chkNum) (setf numMax chkNum))(if (= numMin (1- numMax))(progn(format t "! ~d~%" numMin)(finish-output)(return))))))