import java.math.BigDecimal;
import java.math.MathContext;

public class Euler661 {

    static final MathContext mc = MathContext.DECIMAL128;
    static final BigDecimal ONE = BigDecimal.ONE;
    static final BigDecimal TWO = new BigDecimal("2");
    static final BigDecimal FOUR = new BigDecimal("4");

    static BigDecimal expectedLeads(BigDecimal pA, BigDecimal pB, BigDecimal pStop) {
        BigDecimal q = ONE.subtract(pStop, mc);
        BigDecimal c = ONE.subtract(q.multiply(ONE.subtract(pA).subtract(pB, mc), mc), mc);
        BigDecimal disc = c.multiply(c, mc).subtract(FOUR.multiply(q).multiply(q).multiply(pA).multiply(pB, mc), mc);
        BigDecimal root = disc.sqrt(mc);

        BigDecimal rSmall = c.subtract(root, mc).divide(TWO.multiply(q).multiply(pA, mc), mc);
        BigDecimal rBig = c.add(root, mc).divide(TWO.multiply(q).multiply(pA, mc), mc);

        BigDecimal num = ONE.subtract(rSmall, mc);
        BigDecimal den = pStop.multiply(q).multiply(rBig.subtract(rSmall, mc), mc);

        return num.divide(den, mc);
    }

    public static String solve() {
        BigDecimal ans = BigDecimal.ZERO;
        for (int k = 3; k <= 50; ++k) {
            BigDecimal dk = new BigDecimal(k);
            BigDecimal dk3 = new BigDecimal(k + 3);

            BigDecimal pA = ONE.divide(dk3.sqrt(mc), mc);
            BigDecimal pB = pA.add(ONE.divide(dk.multiply(dk, mc), mc), mc);
            BigDecimal p = ONE.divide(dk.multiply(dk).multiply(dk, mc), mc);

            ans = ans.add(expectedLeads(pA, pB, p), mc);
        }

        return ans.setScale(4, java.math.RoundingMode.HALF_UP).toString();
    }

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