import sequtils,strutils,math type kakaku = tuple[t : float64, n : float64] var k = stdin.readline.parseInt a,b,t,n : float64 ai,bi : int flag : bool M,m : float64 M2,m2,n2 : int #s : string kTable = newSeqWith(11,newSeqWith(11,newSeq[kakaku](0))) for i in 1..k: (a,b,t) = stdin.readline.split.map(parseFloat) (ai,bi) = (a.int,b.int) n = 1.0 m = 0.0 M = 1.0 flag = true if kTable[ai][bi].len < 2: while true: if pow(n,a) * pow(ln(n),b) <= t: m = n n += 1.0 else: break M = n else: M2 = kTable[ai][bi].len m2 = 0 while M2 - m2 > 1: n2 = (M2 + m2) div 2 if kTable[ai][bi][n2].t < t: m2 = n2 else: M2 = n2 if M2 == kTable[ai][bi].len: M = min(kTable[ai][bi][m2].n + 9,10) m = kTable[ai][bi][m2].n elif M2 == 1 and kTable[ai][bi][m2].t > t: M = kTable[ai][bi][0].n m = 0.0 else: M = kTable[ai][bi][M2].n m = kTable[ai][bi][m2].n while M - m > 0.000_000_000_5: n = (M + m) / 2.0 if pow(n,a) * pow(ln(n),b) <= t: m = n else: M = n M = (M + m) / 2 echo round(M,10)