public class Euler862 {

    static long SValue(int k) {
        long[] fact = new long[13];
        fact[0] = 1;
        for (int i = 1; i <= k; ++i) {
            fact[i] = fact[i - 1] * i;
        }

        int[] cnt = new int[10];
        long[] ans = { 0 };

        dfs(0, k, k, cnt, fact, ans);

        return ans[0];
    }

    static void dfs(int d, int rem, int k, int[] cnt, long[] fact, long[] ans) {
        if (d == 9) {
            cnt[9] = rem;
            long perms = fact[k];
            for (int i = 0; i < 10; ++i) {
                perms /= fact[cnt[i]];
            }
            long valid = perms * (k - cnt[0]) / k;
            ans[0] += valid * (valid - 1) / 2;
            return;
        }

        for (int v = 0; v <= rem; ++v) {
            cnt[d] = v;
            dfs(d + 1, rem - v, k, cnt, fact, ans);
        }
    }

    public static String solve() {
        return Long.toString(SValue(12));
    }

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