#include #include #define e 2.7182818284590452355 double big(double a,double b){if(a>b){return a;}return b;} int main(void){ int i,j,n,a,b; double min,max,c,d,t,ax,bx,cax,cbx,dax,dbx; scanf("%d",&n); for(i = 1;i <= n;i++){ scanf("%d%d%lf",&a,&b,&t); if(a && b){min = 1;max = big(e,t);} else if(b == 0){ax = a;printf("%.12lf\n",pow(t,1/ax));continue;} else{bx = b;printf("%.12lf\n",pow(e,pow(t,1/bx)));continue;} for(j = 1;j <= 20;j++){ c = (min*2+max)/3; d = (min+max*2)/3; cax = pow(c,a);dax = pow(d,a); cbx = pow(log(c),b);dbx = pow(log(d),b); if(dax*dbx < t){min = d;} else if(cax*cbx > t){max = c;} else{min = c;max = d;} } printf("%.12lf\n",(max+min)/2); } return 0; }