import java.util.*;

public class Euler151 {
    static Map<Long, Double> memo = new HashMap<>();

    static double dfs(int a2, int a3, int a4, int a5) {
        long key = ((long) a2 << 24) | ((long) a3 << 16) | ((long) a4 << 8) | a5;
        if (memo.containsKey(key))
            return memo.get(key);
        int total = a2 + a3 + a4 + a5;
        if (total == 0) {
            memo.put(key, 0.0);
            return 0.0;
        }
        double ans = 0;
        if (total == 1 && a5 == 0)
            ans += 1.0;
        int[] s = { a2, a3, a4, a5 };
        for (int i = 0; i < 4; i++) {
            if (s[i] == 0)
                continue;
            double prob = (double) s[i] / total;
            int[] n = s.clone();
            n[i]--;
            for (int j = i + 1; j < 4; j++)
                n[j]++;
            ans += prob * dfs(n[0], n[1], n[2], n[3]);
        }
        memo.put(key, ans);
        return ans;
    }

    public static void main(String[] args) {
        System.out.printf("%.6f%n", dfs(1, 1, 1, 1));
    }
}
