#input of int(split by space) def get_i() return gets.chomp.split(" ").map(&:to_i) end #input of float(split by space) def get_f() return gets.chomp.split(" ").map(&:to_f) end #input of string(split by space) def get() return gets.chomp.split(" ") end #input of string(split per one character) def get_nsp() return gets.chomp.split("") end #yes or no decision def yn_judge(bool,y="Yes",n="No") return bool ? y : n end #create of array def array(size1,init=nil,size2=-1) if size2==-1 return Array.new(size1){init} else return Array.new(size2){Array.new(size1){init}} end end def max(a,b) return a>b ? a : b end def min(a,b) return a>b ? b : a end INF=Float::INFINITY P,Q=get_f head=1.0 tail=10**20 (10**5).times do mid=(head+tail)/2.0 if mid**2<=P+Q*mid*Math.log2(mid) head=mid else tail=mid end end puts tail