(loop[ turn 0 numMin 10 numMax 1000000001 ] (let [chkNum (if(= 0 turn) 100 (int(/(+ numMin numMax) 2)))] (println "?" chkNum)(flush) (let [chk (read-line)] (if(= "0" chk)(do (println "!" (+ chkNum turn))(flush) ) (do (recur (inc turn) (-(if(= "1" chk) chkNum numMin) (if(< 0 numMin) 1 0)) (dec(if(= "-1" chk) chkNum numMax)) ) )) ) ) )