#include <cstdio>
#include <map>
using namespace std;
struct state
{
int i, j, k;
state() { }
state( int _i, int _j, int _k ) : i(_i), j(_j), k(_k) { }
};
bool operator < ( state a, state b )
{
if (a.i != b.i) return a.i < b.i;
if (a.j != b.j) return a.j < b.j;
return a.k < b.k;
}
map <state, int> f;
int go( int i, int j, int k )
{
if (i == 0 || j == 0 || k == 0)
return 1;
if (f.count(state(i, j, k)))
return f[state(i, j, k)];
int &res = f[state(i, j, k)]; // Создался res = 0
res += go(i - 1, j, k);
res += go(i, j - 1, k);
res += go(i, j, k - 1);
return res;
}
int main()
{
printf("%d\n", go(10, 10, 10));
return 0;
}