#include #include #include using namespace std; #define rep(i,a,b) for(__typeof(b) i=a; i<(b); ++i) int n; double p, s, v; int main() { cin >> n >> p >> s >> v; p *= 1e9; double a = pow(log(n) / log(2), sqrt(2)); double b = s * p / v / n; //These are just outside the right bounds double down = 1.23, up = 38.15; rep(iter,0,90) { double m = (up + down) / 2; double res = pow(a, m) * m * m; if (res < b / log(a)) down = m; else up = m; } double comput = n * pow(log(n) / log(2), sqrt(2) * down) / p; double travel = s * (1 + 1 / down) / v; printf("%.11lf %.11lf\n", comput + travel, down); }