ClearAll[GetProbability] GetProbability[{dice1_List, n_Integer}, {dice2_List, m_Integer}] := Module[{a, b, lena, lenb}, a = Tuples[dice1, n]; a = Plus @@@ a; lena = a // Length; a = Tally[a]; a[[All, 2]] /= lena; b = Tuples[dice2, m]; b = Plus @@@ b; lenb = b // Length; b = Tally[b]; b[[All, 2]] /= lenb; Total[If[#[[1, 1]] > #[[2, 1]], #[[1, 2]] #[[2, 2]], 0] & /@ Tuples[{a, b}]] ] GetProbability[{Range[4], 9}, {Range[6], 6}] GetProbability[{Range[10], 5}, {Range[7], 6}]