#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;
#define inf 0x3f3f3f3f
int mp[100][100][100];
int x,y,z;
int memory(int x,int y,int z)
{
if(x<=0||y<=0||z<=0)
return 1;
if(mp[x][y][z]!=inf)return mp[x][y][z];
if(x>20||y>20||z>20)
return mp[x][y][z]=memory(20,20,20);
if(x<y&&y<z)
return mp[x][y][z]=memory(x,y,z-1)+memory(x,y-1,z-1)-memory(x,y-1,z);
return mp[x][y][z]=memory(x-1,y,z)+memory(x-1,y-1,z)+memory(x-1,y,z-1)-memory(x-1,y-1,z-1);
}
int main()
{
memset(mp,inf,sizeof(mp));
while(~scanf("%d%d%d",&x,&y,&z))
{
if(x==-1&&y==-1&&z==-1)
break;
printf("w(%d, %d, %d) = %d\n",x,y,z,memory(x,y,z));
}
return 0;
}