#include using namespace std; int A, B; double T; unordered_map< double, double > memo[11][11]; double F(double mid) { if(memo[A][B].count(mid)) return (memo[A][B][mid]); return (memo[A][B][mid] = pow(mid, A) * pow(log(mid), B)); } int main() { int M; scanf("%d", &M); while(M--) { scanf("%d %d %lf", &A, &B, &T); double low = 0, high = 1e5; for(int i = 0; i < 50; i++) { double mid = (low + high) * 0.5; if(F(mid) < T) low = mid; else high = mid; } printf("%.12lf\n", low); } }