#include <bits/stdc++.h>
using namespace std;
using namespace std;
set<int> generate(int len) {
  set<int> ans;
  for (int i1 = 0; i1 < len + 1; ++i1)
    for (int i5 = 0; i5 < len - i1 + 1; ++i5)
      for (int i10 = 0; i10 < len - i1 - i5 + 1; ++i10) {
        auto i50 = len - i1 - i5 - i10;
        ans.insert(i50 * 50 + i10 * 10 + i5 * 5 + i1);
      }
  return ans;
}
const int MAXL = 220;
int main() {
  ios_base::sync_with_stdio(false);
  long long n;
  cin >> n;
  if (n < MAXL) {
    auto w = generate(n);
    cout << w.size() << endl;
    return 0;
  }
  auto t = generate(MAXL);
  auto mx = *t.rbegin();
  auto mn = *t.begin();
  long long left = (n - (MAXL - 20)) + (MAXL - 20) * 50 + 1;
  long long right = (n - (MAXL - 20)) * 50 + (MAXL - 20);
  if (left >= right) {
    set<long long> aa;
    for (auto c : t) {
      aa.insert((n - MAXL) + c);
      aa.insert((n - MAXL) * 50 + c);
      aa.insert((n - MAXL) * 5 + c);
      aa.insert((n - MAXL) * 20 + c);
    }
    cout << aa.size() << endl;
    return 0;
  }
  int v[4] = {1, 5, 10, 50};
  set<long long> aa;
  for (auto c : t) {
    for (int i = 0; i < 4; ++i) {
      auto cand = (n - MAXL) * v[i] + c;
      if (cand >= right || cand < left) aa.insert(cand);
    }
  }
  long long ans = (right - left) + aa.size();
  cout << ans << endl;
  return 0;
}
