We all love recursion! Don't we?
Consider a three-parameter recursive function w(a, b, c):
If a \leq 0 or b \leq 0 or c \leq 0, then w(a, b, c) returns .
If a > 20 or b > 20 or c > 20, then w(a, b, c) returns w(20, 20, 20).
If a < b and b < c, then w(a, b, c) returns w(a, b, c - 1) + w(a, b - 1, c - 1) - w(a, b - 1, c).
Otherwise, w(a, b, c) returns w(a - 1, b, c) + w(a - 1, b - 1, c) + w(a - 1, b, c - 1) - w(a - 1, b - 1, c - 1).

This is the simplest implementation. The problem is, if implemented directly, even for small values of , , and (for example, a = 15, b = 15, c = 15), the program will take hours to run due to recursion.
Each line contains three integers , , . The last line contains -1\ -1\ -1 and is not processed. For each input triple, you should calculate the value of w(a, b, c).
For each triple, output the value of w(a, b, c).
Example 1