;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))))))