#!/usr/bin/python d = [0]*11 for i in range(11): d[i] = [0]*61 for i in range(1, 7): d[1][i] = 1 for n in range(2, 11): for k in range(n, n*6+1): d[n][k] = sum(d[n-1][max(0, k-6):k]) print(6**15) s = sum([d[5][k]*sum(d[10][10:k]) for k in range(11, 31)]) print(s) print(s/6**15) ################################################################################ ## use multinomial coefficients from math import factorial import itertools def fd(n, k): return sum([factorial(n)/factorial(t.count(1))/factorial(t.count(2))/factorial(t.count(3))/factorial(t.count(4))/factorial(t.count(5))/factorial(t.count(6)) for t in itertools.combinations_with_replacement([1, 2, 3, 4, 5, 6], n) if sum(t) == k]) ## test # for n in range(1, 11): # print(d[n]) # print([int(fd(n, k)) for k in range(61)])