#include<iostream>#include<cstring>usingnamespace std;typedeflonglong ll;constint mod =1e9+7;constint N=1e5+100;
ll f[107][107][107];
ll dfs(ll x, ll y, ll z){if(x<2and y<2and z<2)return1;if(f[x][y][z]!=-1)return f[x][y][z];
ll ans =0;if(x>=2)
ans +=dfs(x-2,y,z); ans%=mod;if(y>=2)
ans +=dfs(x,y-2,z); ans%=mod;if(z>=2)
ans +=dfs(x,y,z-2); ans%=mod;if(x>=3)
ans +=dfs(x-3,y,z); ans%=mod;if(y>=3)
ans +=dfs(x,y-3,z); ans%=mod;if(z>=3)
ans +=dfs(x,y,z-3); ans%=mod;if(x>=5)
ans +=dfs(x-5,y,z); ans%=mod;if(y>=5)
ans +=dfs(x,y-5,z); ans%=mod;if(z>=5)
ans +=dfs(x,y,z-5); ans%=mod;return f[x][y][z]= ans%mod;}voidsolve(){
ll a, b, c;
cin >> a >> b >> c;memset(f,-1,sizeof f);
cout <<dfs(a/150,b/150,c/150);}intmain(){
ios::sync_with_stdio(false);cin.tie(0);solve();return0;}