#include <iostream> #include <cstring> #include <cstdio> using namespace std; int w[23][23][23]; int get(int i,int j,int k) { if(w[i][j][k]!=-1) return w[i][j][k]; if(i<=0||j<=0||k<=0) return 1; if(i>=20||j>=20||k>=20) return 1048576; if(i<j&&j<k) { return get(i,j,k-1)+get(i,j-1,k-1)-get(i,j-1,k); } else { return get(i-1,j,k)+get(i-1,j-1,k)+get(i-1,j,k-1)-get(i-1,j-1,k-1); } } int main() { memset(w,-1,sizeof(w)); w[0][0][0]=1; for(int i=0;i<=21;i++) { for(int j=0;j<=21;j++) { for(int k=0;k<=21;k++) { w[i][j][k]=get(i,j,k); } } } int a,b,c; while(cin>>a>>b>>c) { if(a==-1&&b==-1&&c==-1) break; printf("w(%d, %d, %d) = ",a,b,c); if(a<=0||b<=0||c<=0) printf("%d\n",w[0][0][0]); else if(a>20||b>20||c>20) printf("%d\n",w[20][20][20]); else printf("%d\n",w[a][b][c]); } return 0; }