public class Euler392 {
    private static double f(double x) {
        double inside = 1.0 - x * x;
        return Math.sqrt(Math.max(0.0, inside));
    }

    private static double[] buildSequence(int m, double x1) {
        double[] x = new double[m + 2];
        x[0] = 0.0;
        x[1] = x1;

        if (!(x1 > 0.0 && x1 < 1.0)) {
            return null;
        }

        for (int k = 1; k <= m; ++k) {
            double xPrev = x[k - 1];
            double xCur = x[k];
            double yPrev = f(xPrev);
            double yCur = f(xCur);

            if (xCur <= 0.0 || yCur <= 0.0) {
                return null;
            }

            double xNext = xCur + (yPrev - yCur) * yCur / xCur;
            if (!Double.isFinite(xNext)) {
                return null;
            }
            x[k + 1] = xNext;
        }
        return x;
    }

    private static double shootingResidual(int m, double x1) {
        double[] x = buildSequence(m, x1);
        if (x == null) {
            return Double.POSITIVE_INFINITY;
        }
        return x[m + 1] - 1.0;
    }

    private static double[] solveBreakpoints(int n) {
        int m = n / 2;
        double lo = 1e-18;
        double hi = 0.999999999999;

        for (int iter = 0; iter < 260; ++iter) {
            double mid = (lo + hi) / 2.0;
            double r = shootingResidual(m, mid);
            if (r > 0.0) {
                hi = mid;
            } else {
                lo = mid;
            }
        }

        double x1 = (lo + hi) / 2.0;
        double[] x = buildSequence(m, x1);
        x[m + 1] = 1.0;
        return x;
    }

    private static double minimalRedArea(int n) {
        int m = n / 2;
        double[] x = solveBreakpoints(n);

        double quadrantArea = 0.0;
        for (int i = 0; i <= m; ++i) {
            double width = x[i + 1] - x[i];
            quadrantArea += width * f(x[i]);
        }

        return 4.0 * quadrantArea;
    }

    public static String solve() {
        int n = 400;
        double answer = minimalRedArea(n);
        return String.format("%.10f", answer).replace(',', '.');
    }

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