require 'bigdecimal' t=gets.to_i t.times{ p1,k1=gets.split(" ") p2=BigDecimal(p1,40) k2=BigDecimal(k1,40) t1=BigDecimal("1.0",40) t0=BigDecimal("0.0",40) p1=p1.to_f k1=k1.to_i ans=1 if k1==1 then puts 1.0 elsif k1==2 then puts p1.to_f+2.0*(1.0-p1.to_f) elsif p2==t0 then puts k1.to_f else #qk=(1-p1)**(k1-1) #ans=(1.0-qk)/p1+qk qk=((t1-p2)**(k2-t1)) puts ((1.0-qk)/p2+qk).round(40).to_s("F") end }