hackerank codesprint5: matrix tracing.

I've reduced the problem down to a combinatorial problem. still need to
format the output properly. also my solution is fast enough to pass
hackerrank's testing. optimization here I come!
add special mod

output needs to be formatted properly:
val mod (10^9+7) if val is > (10^9+7)
optimize combinatorial calculation

don't calculate two large factorials, instead remove the smaller
denominator factorial from the larger numerator factorial.
optimize n-choose-k

before I was doing (product [this..that] / product [this..that]) and it wasn't very
clear that what I was calculating was the number of combinations, aka
n-choose-k.

this commit optimizes that calculation and clarifies what is going on.
hackerrank, codesprint5, "special multiple" problem 3

this solution passed all test cases.