A balls and boxes problem

Hello,

I would be extremely grateful for any help with this problem:

Let $\displaystyle r,n,k \in \mathbb{N}$ be numbers such that $\displaystyle r \geq (n-3) \cdot k$ and $\displaystyle n \geq 5$.

Find the number of ways we can put $\displaystyle r$ **indistinguishable** balls into $\displaystyle n$ **distinguishable** boxes, so that:

-exactly three boxes remain empty,

-two boxes contain exactly $\displaystyle k$ balls, and that

-each of the remaining boxes has at least $\displaystyle k$ balls.

*******

For example, I tried to sketch one of the possible distributions in case that $\displaystyle r=7,n=6$ and $\displaystyle k=2$:

http://i34.tinypic.com/10mrbif.jpg

-the second, third and sixth boxes are empty;

-the first and fourth box contain exactly 2 balls;

-the fifth box contains three balls (which is > 2).

******

Now, how could this problem be solved for any $\displaystyle r,n,k$ as defined above? I know that we can find the number of partitions of a set containing n elements into k **non-empty** parts by Stirling numbers of the second kind, $\displaystyle S(n,k)$ -- but in this problem, three of the parts must be **empty**! Should we first break this problem down into several disjoint cases where we first determine where would the empty boxes be, and then fill the remaining boxes with balls? There are, I believe, $\displaystyle \begin{pmatrix}n\\3\end{pmatrix}$ ways we can choose three of n distinguishable boxes to be empty, there then remain $\displaystyle (n-3)$ boxes in each case to be filled with balls. Of those $\displaystyle (n-3)$ boxes, 2 must contain exactly $\displaystyle k$ balls. We can choose those boxes in $\displaystyle \begin{pmatrix}n-3\\2\end{pmatrix}$ ways, and in those boxes we put $\displaystyle 2k$ balls. There now remain $\displaystyle (n-5)$ boxes to be filled with $\displaystyle (r-2k)$ balls, but under the condition that there are at least $\displaystyle k$ balls in each of the remaining $\displaystyle (n-5)$ boxes...

Is this the right way to approach this problem? I'm not certain that the above argument is entirely correct, and would really appreciate some pointers in the right direction.

Many thanks!