import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.MathContext;
import java.math.RoundingMode;

public class Euler595 {
    static BigInteger factorial(int n) {
        BigInteger r = BigInteger.ONE;
        for (int i = 2; i <= n; i++) {
            r = r.multiply(BigInteger.valueOf(i));
        }
        return r;
    }

    public static String solve() {
        int N = 52;
        MathContext mc = new MathContext(100, RoundingMode.HALF_UP);

        BigInteger[] fact = new BigInteger[N + 1];
        fact[0] = BigInteger.ONE;
        for (int i = 1; i <= N; i++) {
            fact[i] = fact[i - 1].multiply(BigInteger.valueOf(i));
        }

        BigInteger[] f = new BigInteger[N + 1];
        f[0] = BigInteger.ONE;
        for (int b = 1; b <= N; b++) {
            BigInteger fb = BigInteger.ZERO;
            for (int r = 0; r <= b - 1; r++) {
                BigInteger c = fact[b - 1].divide(fact[r].multiply(fact[b - 1 - r]));
                BigInteger term = c.multiply(fact[b - r]);
                if (r % 2 == 1) {
                    fb = fb.subtract(term);
                } else {
                    fb = fb.add(term);
                }
            }
            f[b] = fb;
        }

        BigDecimal[][] P = new BigDecimal[N + 1][N + 1];
        for (int m = 1; m <= N; m++) {
            BigDecimal denom = new BigDecimal(fact[m], mc);
            for (int b = 1; b <= m; b++) {
                BigInteger c = fact[m - 1].divide(fact[b - 1].multiply(fact[m - b]));
                BigInteger cnt = c.multiply(f[b]);
                P[m][b] = new BigDecimal(cnt, mc).divide(denom, mc);
            }
        }

        BigDecimal[] E = new BigDecimal[N + 1];
        E[1] = BigDecimal.ZERO;
        for (int m = 2; m <= N; m++) {
            BigDecimal num = BigDecimal.ONE;
            for (int b = 1; b < m; b++) {
                num = num.add(P[m][b].multiply(E[b], mc), mc);
            }
            BigDecimal den = BigDecimal.ONE.subtract(P[m][m], mc);
            E[m] = num.divide(den, mc);
        }

        BigDecimal s = BigDecimal.ZERO;
        for (int b = 1; b <= N; b++) {
            s = s.add(P[N][b].multiply(E[b], mc), mc);
        }

        return s.setScale(8, RoundingMode.HALF_UP).toPlainString();
    }

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