import java.util.Locale;

public class Euler285 {
    static double areaInsideSquareAndCircle(double r) {
        double kSqrt2 = Math.sqrt(2.0);
        if (r <= kSqrt2) {
            return 0.0;
        }
        double t = Math.sqrt(r * r - 1.0);
        double pi = Math.PI;
        return r * r * (pi / 4.0 - Math.asin(1.0 / r)) - t + 1.0;
    }

    public static String solve() {
        int maxK = 100000;
        double expected = 0.0;
        for (int k = 1; k <= maxK; ++k) {
            double outer = areaInsideSquareAndCircle(k + 0.5);
            double inner = areaInsideSquareAndCircle(k - 0.5);
            expected += (outer - inner) / (double) k;
        }
        return String.format(Locale.US, "%.5f", expected);
    }

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