#include <iostream>
#include <vector>

std::vector<int> generate_primes(int n) {
  std::vector<bool> is_prime(n + 1, true);
  for (int i = 2; i * i <= n; ++i) {
    if (is_prime[i]) {
      for (int j = i * i; j <= n; j += i) {
        is_prime[j] = false;
      }
    }
  }
  std::vector<int> primes;
  for (int i = 2; i <= n; ++i) {
    if (is_prime[i]) {
      primes.push_back(i);
    }
  }
  return primes;
}

long long s(long long p) {
  long long rem = p % 8;
  if (rem == 1) return (-3 + 3 * p) / 8;
  if (rem == 3) return (-3 + p) / 8;
  if (rem == 5) return (-3 + 7 * p) / 8;
  return (-3 + 5 * p) / 8;
}

int main(void) {
  std::vector<int> primes = generate_primes(100000000);

  long long ans = 0;
  for (int p : primes) {
    if (p < 5) continue;
    ans += s(p);
  }
  std::cout << ans << std::endl;

  return 0;
}