#include <bits/stdc++.h>
using namespace std;
int dy[] = {0, 0, 1, -1};
int dx[] = {1, -1, 0, 0};
int const MOD = 1000000007;
namespace std {
bool operator<(const complex<double> a, const complex<double> b) {
  return a.real() != b.real() ? a.real() < b.real() : a.imag() < b.imag();
}
}  // namespace std
long long int fact_mod(long long int n, long long int mod) {
  if (n == 1)
    return 1;
  else
    return ((n % mod) * (fact_mod(n - 1, mod) % mod)) % mod;
}
long long int mod_pow(long long int x, long long int n, long long int mod) {
  if (n == 0) return 1;
  long long int res = mod_pow((x * x) % mod, n / 2, mod);
  if (n & 1) res = (res * x) % mod;
  return res;
}
long long int combination(long long int n, long long int r, long long int mod) {
  if (r > n - r) r = n - r;
  long long int a = 1;
  for (int i = 0; i < r; i++) a = a * ((n - i) % mod) % mod;
  long long int b = mod_pow(fact_mod(r, mod), mod - 2, mod);
  return (a % mod) * (b % mod) % mod;
}
int main() {
  int n;
  while (cin >> n) {
    cout << combination(n + 3, 3, INT_MAX) << endl;
  }
  return 0;
}
