import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;

public class Euler462 {
    private static BigInteger countExact(long n) {
        List<Integer> rows = new ArrayList<>();
        long p3 = 1;
        while (p3 <= n) {
            long bound = n / p3;
            int maxA = 63 - Long.numberOfLeadingZeros(bound);
            rows.add(maxA + 1);
            if (p3 > n / 3)
                break;
            p3 *= 3;
        }

        if (rows.isEmpty())
            return BigInteger.ZERO;

        int maxWidth = rows.get(0);
        int cellCount = 0;
        for (int w : rows)
            cellCount += w;

        int[] colHeights = new int[maxWidth];
        for (int c = 0; c < maxWidth; ++c) {
            int h = 0;
            for (int w : rows) {
                if (w > c)
                    h++;
            }
            colHeights[c] = h;
        }

        BigInteger numerator = BigInteger.ONE;
        for (int x = 2; x <= cellCount; ++x) {
            numerator = numerator.multiply(BigInteger.valueOf(x));
        }

        BigInteger denominator = BigInteger.ONE;
        for (int r = 0; r < rows.size(); ++r) {
            int w = rows.get(r);
            for (int c = 0; c < w; ++c) {
                int right = w - c - 1;
                int below = colHeights[c] - r - 1;
                int hook = right + below + 1;
                denominator = denominator.multiply(BigInteger.valueOf(hook));
            }
        }

        return numerator.divide(denominator);
    }

    private static String formatScientific10(BigInteger value) {
        String digits = value.toString();
        long exponent = digits.length() - 1;

        if (digits.length() < 12) {
            StringBuilder sb = new StringBuilder(digits);
            while (sb.length() < 12)
                sb.append('0');
            digits = sb.toString();
        }

        long leading = 0;
        for (int i = 0; i < 11; ++i) {
            leading = leading * 10 + (digits.charAt(i) - '0');
        }
        int roundDigit = digits.charAt(11) - '0';
        if (roundDigit >= 5) {
            leading++;
        }
        if (leading == 100000000000L) {
            leading = 10000000000L;
            exponent++;
        }

        long integerPart = leading / 10000000000L;
        long fractionalPart = leading % 10000000000L;

        return String.format("%d.%010de%d", integerPart, fractionalPart, exponent);
    }

    public static String solve() {
        return formatScientific10(countExact(1000000000000000000L));
    }

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