How many unique ways are there to achieve a score in Football? Challenge: given a number, calculate how many unique, order-independent ways there are to achieve a score of that number in American Football.  

Let's see how few characters can be used in each of your favorite languages! The usual rules apply.  Input and output in a way that is natural to your language.  

Recall that the ways to score in Football are safety (2 points), field goal (3 points), touchdown (6 points), touchdown + extra point (7 points), and touchdown + 2-point conversion (8 points).  

For example, given 9 as input, the program should return 4, since you could score:


1 touchdown + extra point and 1 safety
1 touchdown and 1 field goal
3 field goals
3 safeties and 1 field goal


Note that order does not matter.
Mathematica - 42

Length@IntegerPartitions[#,∞,{2,3,6,7,8}]&amp;


Prolog - 140

Never wrote anything in Prolog before, just knew that this problem should be quite nice for it.

p(0,_,[]).
p(N,[H|T],O):- N&gt;=H,p(N,T,O). 
p(N,[H|S],[H|T]):- N&gt;=H,M is N-H,p(M,[H|S],T).
f(N,C):- aggregate(count,X^p(N,[2,3,6,7,8],X),C).

?- f(9,C).
C = 4.