#include<bits/stdc++.h>
#define zyq 1536
using namespace std;
vector<long long> ans,ta,tb,tc;
long long qwq[40][40][40];
long long f(long long a,long long b,long long c){
if(a<=0 or b<=0 or c<=0) return 1;
else if(a>20 or b>20 or c>20) qwq[a][b][c] = f(20,20,20);
else if(qwq[a][b][c]!=0) return qwq[a][b][c];
else if(a<b and b<c) qwq[a][b][c] = f(a,b,c-1)+f(a,b-1,c-1)-f(a,b-1,c);
else if(qwq[a][b][c]==-1) qwq[a][b][c]=f(a-1,b,c)+f(a-1,b-1,c)+f(a-1,b,c-1)-f(a-1,b-1,c-1);
return qwq[a][b][c];
}
int main(){
std::ios::sync_with_stdio(false);
memset(qwq,0,sizeof(qwq));
long long tmpa,tmpb,tmpc;
long long i=0;
while(1){
cin>>tmpa>>tmpb>>tmpc;
if(tmpa==-1 and tmpb==-1 and tmpc==-1) break;
i++ ;
ta.push_back(tmpa);
tb.push_back(tmpb);
tc.push_back(tmpc);
ans.push_back(f(tmpa,tmpb,tmpc));
}
for(int j=0;j<i;j++){
cout<<"w("<<ta[j]<<", "<<tb[j]<<", "<<tc[j]<<") "<<"="<<ans[j]<<endl;
}
}