public class Euler371 {
    public static String solve(int maxNumber) {
        int pairCount = (maxNumber - 1) / 2;
        int totalNumbers = 2 * pairCount + 2;

        double[] e0 = new double[pairCount + 1];
        double[] e1 = new double[pairCount + 1];

        for (int k = pairCount; k >= 0; --k) {
            double den = totalNumbers - (k + 1);
            double grow = 2 * (pairCount - k);

            if (k == pairCount) {
                e1[k] = totalNumbers / den;
                e0[k] = (totalNumbers + e1[k]) / den;
            } else {
                e1[k] = (totalNumbers + grow * e1[k + 1]) / den;
                e0[k] = (totalNumbers + grow * e0[k + 1] + e1[k]) / den;
            }
        }

        return String.format(java.util.Locale.US, "%.8f", e0[0]);
    }

    public static String solve() {
        return solve(1000);
    }

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