/* -*- coding: utf-8 -*- * * 456.cc: No.456 Millions of Submits! - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int CNT = 60; typedef long double ld; const ld MIN_N = 0.0; const ld MAX_N = expl(10); const ld DELTA = 1e-10; /* typedef */ /* global variables */ ld powld(ld a, int b) { ld p = 1.0; while (b) { if (b & 1) p *= a; a *= a; b >>= 1; } return p; } /* subroutines */ /* main */ int main() { int m; scanf("%d", &m); while (m--) { int ai, bi; ld ti; scanf("%d%d%Lf", &ai, &bi, &ti); ld ln = (bi > 0) ? 1.0 : 0.0; ld rn = MAX_N; while (ln + DELTA < rn) { ld n = (ln + rn) / 2; ld t = powld(n, ai) * powld(logl(n), bi); if (t <= ti) ln = n; else rn = n; } printf("%.11Lf\n", ln); } return 0; }