// yukicoder: No.843 Triple Primes // 2019.6.29 bal4u #include #define MAX 1000000 #define SQRT 1000 char nop[MAX+5] = { 1,1,0,0,1 }; // zero: if prime void sieve() { int i, j; for (i = 3; i <= SQRT; i += 2) if (!nop[i]) { for (j = i * i; j <= MAX; j += i) nop[j] = 1; } } int main() { int i, k, N, ans; sieve(); scanf("%d", &N); ans = 0; if (N > 1) { i = 3; while (1) { if (!nop[i]) { if ((k = i*i-2) > N) break; if (!nop[k]) ans++; } i += 2; } ans <<= 1, ans++; } printf("%d\n", ans); return 0; }