#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma loop_opt(on)
using namespace std;
template <class T>
using vec = vector<T>;
template <class T>
using stack = stack<T, vec<T> >;
template <class T>
using MaxHeap = priority_queue<T, vec<T>, less<T> >;
template <class T>
using MinHeap = priority_queue<T, vec<T>, greater<T> >;
struct node {
  long long m[4][4];
} ans, base;
inline node multi(node a, node b) {
  node res;
  memset(res.m, 0, sizeof res.m);
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      for (int k = 0; k < 4; k++) {
        res.m[i][j] += a.m[i][k] * b.m[k][j];
      }
    }
  }
  return res;
}
inline void fashPow(int n) {
  for (int i = 0; i < 4; i++) {
    ans.m[i][i] = 1;
    for (int j = 0; j <= i; j++) base.m[i][j] = 1;
  }
  while (n) {
    if (n & 1) ans = multi(ans, base);
    base = multi(base, base);
    n >>= 1;
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  set<int> wtf;
  long long n;
  cin >> n;
  if (n < 30) {
    for (int i = 0; i <= n; i++) {
      for (int v = 0; v + i <= n; v++) {
        for (int x = 0; x + v + i <= n; x++) {
          int l = n - i - v - x, num = i + v * 5 + x * 10 + l * 50;
          wtf.insert(num);
        }
      }
    }
    cout << (int)wtf.size() << '\n';
  } else
    cout << n * 49 - 247 << '\n';
}
