#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;
}