Count number of integer tuple I have $n$ integer constants $c_1, \ldots, c_n$ and $n$  integer variables $x_1, \ldots, x_n$ with following conditions: 
$$ 
\begin{align}
&amp; 0 \leq x_1 \leq c_1, \\
&amp; \vdots  \\
&amp; 0 \leq x_n \leq c_n;
\end{align}
$$
and 
$$ x_1 \leq \cdots \leq x_n. $$

How to count the number of integer $n$-tuples $\left( x_1, \ldots, x_n \right)$ that satisfy all the above conditions?

I can use the for-loop in a programming language to count. But with some large values of $a$, $b$, $c$, it takes very long time to finish counting (For example $a = b = c = 1000000$). 

Please help me to find a concrete formula for this problem.
Here is a sketch of a recursive approach.  It may not be the simplest.  

We may as well assume $c_1 \le c_2 \le c_3 \le \ldots c_n$.  If not, reduce the earlier ones so it is true, because if $c_3 \gt c_4$ there are still no acceptable tuples with $x_3 \gt c_4$  

Now if $x_2 \gt c_1$ we have $c_1+1$ choices for $x_1$ with the rest of the tuple, so solve the problem removing $x_1$ and subtracting $c_1+1$ from all the later $c$'s, then multiply the resulting answer by $c_1+1$.  

If $x_2 \le c_1$ we have the same problem with $c_2$ replaced by $c_1$.  If $x_3\gt c_1$ we need the number of pairs less than $c_1$ for the first two times the number of tuples of length $n-2$ for the end.  Subtract $c_1+1$ from each of the last $n+2\ c$'s and solve the problem.  

We have now reduced the problem to the number of increasing tuples of length $k$ with the same maximum $c_1$ for each entry.  We can use stars and bars to see there are $k-1 \choose m-1$ ways to choose the duplicate entries if there are $m$ distinct values.  There are $c_1 \choose m$ ways to choose the values, so there are $\sum_{m=1}^k{k-1 \choose m-1}{c_1 \choose m}$ solutions.
Here is a sketch of a recursive approach.  It may not be the simplest.  

We may as well assume $c_1 \le c_2 \le c_3 \le \ldots c_n$.  If not, reduce the earlier ones so it is true, because if $c_3 \gt c_4$ there are still no acceptable tuples with $x_3 \gt c_4$  

Now if $x_2 \gt c_1$ we have $c_1+1$ choices for $x_1$ with the rest of the tuple, so solve the problem removing $x_1$ and subtracting $c_1+1$ from all the later $c$'s, then multiply the resulting answer by $c_1+1$.  

If $x_2 \le c_1$ we have the same problem with $c_2$ replaced by $c_1$.  If $x_3\gt c_1$ we need the number of pairs less than $c_1$ for the first two times the number of tuples of length $n-2$ for the end.  Subtract $c_1+1$ from each of the last $n+2\ c$'s and solve the problem.  

We have now reduced the problem to the number of increasing tuples of length $k$ with the same maximum $c_1$ for each entry.  We can use stars and bars to see there are $k-1 \choose m-1$ ways to choose the duplicate entries if there are $m$ distinct values.  There are $c_1 \choose m$ ways to choose the values, so there are $\sum_{m=1}^k{k-1 \choose m-1}{c_1 \choose m}$ solutions.