public class Euler363 {
    static double curveSpeed(double t, double v) {
        double dx = 6.0 * (v - 1.0) * t + 3.0 * (2.0 - 3.0 * v) * t * t;
        double dy = 3.0 * v + 2.0 * (3.0 - 6.0 * v) * t + 3.0 * (3.0 * v - 2.0) * t * t;
        return Math.sqrt(dx * dx + dy * dy);
    }

    static double adaptiveSimpson(double v, double a, double b, double eps, double whole, double fa, double fb,
            double fm, int depth) {
        double m = (a + b) * 0.5;
        double lm = (a + m) * 0.5;
        double rm = (m + b) * 0.5;

        double flm = curveSpeed(lm, v);
        double frm = curveSpeed(rm, v);

        double left = (m - a) * (fa + 4.0 * flm + fm) / 6.0;
        double right = (b - m) * (fm + 4.0 * frm + fb) / 6.0;
        double combined = left + right;

        if (depth <= 0 || Math.abs(combined - whole) <= 15.0 * eps) {
            return combined + (combined - whole) / 15.0;
        }

        return adaptiveSimpson(v, a, m, eps * 0.5, left, fa, fm, flm, depth - 1) +
                adaptiveSimpson(v, m, b, eps * 0.5, right, fm, fb, frm, depth - 1);
    }

    static double curveLength(double v) {
        double a = 0.0;
        double b = 1.0;
        double fa = curveSpeed(a, v);
        double fb = curveSpeed(b, v);
        double m = 0.5;
        double fm = curveSpeed(m, v);
        double whole = (b - a) * (fa + 4.0 * fm + fb) / 6.0;
        return adaptiveSimpson(v, a, b, 1e-15, whole, fa, fb, fm, 30);
    }

    static double solveV() {
        double disc = 66.0 - 15.0 * Math.acos(-1.0);
        return 2.0 - Math.sqrt(disc) / 3.0;
    }

    public static String solve() {
        double pi = Math.acos(-1.0);
        double v = solveV();
        double L = curveLength(v);
        double percent = 100.0 * (L - pi / 2.0) / (pi / 2.0);
        return String.format(java.util.Locale.US, "%.10f", percent);
    }

    public static void main(String[] args) {
        System.out.println(solve());
    }
}
