x=1+z=1<<30 (puts"? #{x}";$>.flush;gets;x-=/0/?z<1?1:z:-z)while 0<<'! '<