#474. 递归函数

递归函数

对于一个递归函数w(a,b,c)w(a,b,c)

  • 如果a0a \leq 0 or b0b \leq 0 or c0c \leq 0就返回值11
  • 如果a>20a \gt 20 or b>20b \gt 20 or c>20c \gt 20就返回w(20,20,20)w(20,20,20)
  • 如果a<ba \lt b并且b<cb \lt c 就返回w(a,b,c1)+w(a,b1,c1)w(a,b1,c)w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)
  • 其它别的情况就返回$w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)$

这是个简单的递归函数,但实现起来可能会有些问题。当a,b,ca,b,c均为1515时,调用的次数将非常的多。你要想个办法才行.

输入格式

输入有若干行

每行为三个整数a,b,c(1a,b,c50a,b,c(-1 \leq a,b,c \leq 50)

最后一行为1-1 1-1 1-1 表示输入结束(该行不用输出答案)

输出格式

对于除了最后一行的每一行的a,b,ca,b,c,输出w(a,b,c)=answ(a,\quad b,\quad c) \quad = \quad ans

样例

样例输入

1 1 1
2 2 2
10 4 6
50 50 50
-1 7 18
-1 -1 -1

样例输出

w(1, 1, 1) = 2
w(2, 2, 2) = 4
w(10, 4, 6) = 523
w(50, 50, 50) = 1048576
w(-1, 7, 18) = 1

数据范围与提示

  • 时间限制:1000ms1000\mathrm{ms}
  • 空间限制:32768KB32768\mathrm{KB}