#include using namespace std; typedef long long ll; #define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i)) #define each(itr,c) for(__typeof(c.begin()) itr=c.begin(); itr!=c.end(); ++itr) #define all(x) (x).begin(),(x).end() #define pb push_back #define fi first #define se second typedef pair P; inline double f(double x, int a, int b) { return pow(x,a)*pow(log(x),b); } const int N=1000000; double l[N],r[N]; int main() { int m; scanf(" %d", &m); vector

q[11][11]; rep(i,m) { int a,b; double t; scanf(" %d %d %lf", &a, &b, &t); q[a][b].pb(P(t,i)); l[i]=1; r[i]=100000; } rep(a,11)rep(b,11) { // printf("a,b %d %d\n", a,b); // cout << "size = " << q[a][b].size() << endl; rep(times,100) { map> query; rep(i,q[a][b].size()) { int idx=q[a][b][i].se; double mid=(l[idx]+r[idx])/2; query[mid].pb(q[a][b][i]); // printf("mid= %f\n", mid); } for(const auto &v:query) { double mid = v.fi; vector

qs = v.se; rep(i,qs.size()) { double t=qs[i].fi; int idx=qs[i].se; if(f(mid,a,b)<=t) l[idx]=mid; else r[idx]=mid; } } } } rep(i,m) printf("%.15f\n", (l[i]+r[i])/2); return 0; }