public class Euler894 {

    static final double PI = Math.PI;

    static double absOneMinusQPow(double s, double t, int n) {
        double rn = Math.pow(s, n);
        double ang = n * t;
        double real = 1.0 - rn * Math.cos(ang);
        double imag = 0.0 - rn * Math.sin(ang);
        return Math.sqrt(real * real + imag * imag);
    }

    static class Pair {
        double f1, f2;

        Pair(double f1, double f2) {
            this.f1 = f1;
            this.f2 = f2;
        }
    }

    static Pair equations(double s, double t) {
        double a1 = absOneMinusQPow(s, t, 1);
        double a7 = absOneMinusQPow(s, t, 7);
        double a8 = absOneMinusQPow(s, t, 8);

        double f7 = (1.0 + s) * a7 - (1.0 + Math.pow(s, 7)) * a1;
        double f8 = (1.0 + s) * a8 - (1.0 + Math.pow(s, 8)) * a1;
        return new Pair(f7, f8);
    }

    static double circularTriangleArea(double r1, double r2, double r3) {
        double a = r2 + r3;
        double b = r1 + r3;
        double c = r1 + r2;

        double p = (a + b + c) / 2.0;
        double val = p * (p - a) * (p - b) * (p - c);
        double tri = val > 0 ? Math.sqrt(val) : 0.0;

        double A1 = Math.acos((b * b + c * c - a * a) / (2.0 * b * c));
        double A2 = Math.acos((a * a + c * c - b * b) / (2.0 * a * c));
        double A3 = Math.acos((a * a + b * b - c * c) / (2.0 * a * b));

        return tri - 0.5 * (r1 * r1 * A1 + r2 * r2 * A2 + r3 * r3 * A3);
    }

    public static String solve() {
        double s = 0.9;
        double t = 0.83;

        for (int it = 0; it < 80; ++it) {
            Pair f = equations(s, t);

            double h = 1e-10;
            Pair fs = equations(s + h, t);
            Pair ft = equations(s, t + h);

            double j11 = (fs.f1 - f.f1) / h;
            double j21 = (fs.f2 - f.f2) / h;
            double j12 = (ft.f1 - f.f1) / h;
            double j22 = (ft.f2 - f.f2) / h;

            double det = j11 * j22 - j12 * j21;

            double ds = (-f.f1 * j22 + f.f2 * j12) / det;
            double dt = (-j11 * f.f2 + j21 * f.f1) / det;

            s += ds;
            t += dt;

            while (t < 0)
                t += 2 * PI;
            while (t >= 2 * PI)
                t -= 2 * PI;

            if (Math.abs(ds) + Math.abs(dt) < 1e-15)
                break;
        }

        double A = circularTriangleArea(1.0, s, Math.pow(s, 8));
        double B = circularTriangleArea(1.0, Math.pow(s, 7), Math.pow(s, 8));
        double total = (A + B) / (1.0 - s * s);

        return String.format(java.util.Locale.US, "%.10f", total);
    }

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