#include <bits/stdc++.h>
using namespace std;
long long prime[1000000];
long long happy = 0;
void sieve() {
  prime[0] = 0;
  prime[1] = 0;
  for (int i = 2; i < 1000000; i++) prime[i] = 1;
  for (int i = 2; i * i < 1000000; i++)
    if (prime[i] == 1)
      for (int j = i * i; j < 1000000; j += i) prime[j] = 0;
}
long long Prime(int n) {
  if (n <= 1) return 0;
  for (long long i = 2; i <= floor(sqrt(n)); i++)
    if (n % i == 0) return 0;
  return 1;
}
long long countdigit(long long n) { return floor(log10(n) + 1); }
int isSubstring(string s1, string s2) {
  int M = s1.length();
  int N = s2.length();
  for (int i = 0; i <= N - M; i++) {
    int j;
    for (j = 0; j < M; j++) {
      if (s2[i + j] != s1[j]) break;
    }
    if (j == M) return i;
  }
  return -1;
}
bool check(long long a[], long long m, long long n) {
  float ans = 0.0;
  for (long long i = n; i > 0; i--) {
    for (long long j = n - i; j < n; j++) {
      ans = ans + float(float(a[j]) / float((j + 1)));
    }
  }
  return (ans == m);
}
long long modulo(long long x) {
  if (x < 0) {
    return 1000000007 + x;
  }
  return x % 1000000007;
}
bool mycomp(pair<char, long long> p1, pair<char, long long> p2) {
  return p1.second > p2.second;
}
vector<pair<char, long long>> sort(map<char, long long> A) {
  vector<pair<char, long long>> C;
  for (auto X : A) {
    C.push_back(X);
  }
  sort(C.begin(), C.end(), mycomp);
  return C;
}
void solve() {
  int n;
  cin >> n;
  if (n <= 10 || n > 21) {
    cout << 0;
    return;
  }
  if (n == 20) {
    cout << 15;
    return;
  }
  cout << 4;
}
int main() { solve(); }
