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

public class Euler597 {

    public static String solve() {
        int n = 13;
        int L = 1800;
        int gap = 40;
        int m = L / gap;

        MathContext mc = new MathContext(50, RoundingMode.HALF_UP);
        BigDecimal[][] S = new BigDecimal[n + 1][m + 1];

        for (int i = 0; i <= n; i++) {
            for (int j = 0; j <= m; j++) {
                S[i][j] = BigDecimal.ZERO;
            }
        }

        for (int j = 0; j <= m; j++) {
            S[0][j] = BigDecimal.ONE;
            S[1][j] = BigDecimal.ONE;
        }

        for (int i = 2; i <= n; i++) {
            int m0 = i - 1;
            if (m0 <= m) {
                BigDecimal sign = ((i - 1) % 2 == 1) ? BigDecimal.ONE.negate() : BigDecimal.ONE;
                S[i][m0] = sign.multiply(S[i - 1][m0], mc);
            }

            for (int extM = i; extM <= m; extM++) {
                long DInt = (long) i * extM - (long) i * (i - 1) / 2;
                BigDecimal D = new BigDecimal(DInt, mc);
                BigDecimal total = BigDecimal.ZERO;

                for (int k = 1; k <= i; k++) {
                    int dK = extM - (k - 1);
                    BigDecimal weight = new BigDecimal(dK, mc).divide(D, mc);
                    BigDecimal term = weight.multiply(S[k][k - 1], mc).multiply(S[i - k][extM - k], mc);
                    total = total.add(term, mc);
                }
                S[i][extM] = total;
            }
        }

        BigDecimal ans = S[n][m].add(BigDecimal.ONE, mc).divide(new BigDecimal(2, mc), mc);
        return ans.setScale(10, RoundingMode.HALF_UP).toPlainString();
    }

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