#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,p; double min,max,c,t,ax,bx,s[10][10][100000]={0}; scanf("%d",&n); for(i = 1;i <= n;i++){ scanf("%d%d%lf",&a,&b,&t); p = t * 10000 - 10000; if(s[a-1][b-1][p] != 0){printf("%.12lf\n",s[a-1][b-1][p]);continue;} 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 <= 30;j++){ c = (min+max)/2; ax = pow(c,a); bx = pow(log(c),b); if(ax*bx < t){min = c;} else{max = c;} } printf("%.12lf\n",(max+min)/2); p = t*10000 - 10000; s[a-1][b-1][p] = (max+min)/2; } return 0; }