import Data.List (transpose)
d n s = map (/ fromIntegral (s^n)) (iterate roll [1] !! n)
where roll = map sum . transpose . take s . tail . iterate (0:)
beats a b = sum $ zipWith (*) (tail a) $ scanl1 (+) b
p205 = peter `beats` colin
colin = 6 `d` 6
peter = 9 `d` 4