// 思路:先尝试暴力递归!!!,不行 // 加记忆化搜索 // 当a>20||b>20||c>20时,结果相同,我们就令它们为21,这样数组就能存下了
#include <bits/stdc++.h>
using namespace std;
using ll = long long ;
const int N = 1e5 + 50;
ll f[25][25][25];
ll w(ll a,ll b,ll c) {
if (a<=0||b<=0||c<=0) return 1;
else if (f[a][b][c]!=0) return f[a][b][c];
else if (a>20||b>20||c>20) f[a][b][c] = w(20,20,20);
else if (a<b&&b<c) f[a][b][c] = w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
else f[a][b][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);
return f[a][b][c];
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
ll a,b,c;
while (1) {
memset(f,0,sizeof f);
cin >> a >> b >> c;
if (a == b && b == c && a == -1) break;
if (a>20) a=21;
if (b>20) b=21;
if (c>20) c=21;
cout << "w(" << a << ", " << b << ", " << c << ")" << " = " << w(a,b,c) << '\n';
}
return 0;
}