#include <bits/stdc++.h> using namespace std; #define int long long #define PII pair<int,int> #define endl '\n' #define INF 2e18 #define ull unsigned long long #define pq priority_queue<int> const int mod = 1000000007; const int N = 5e5 + 5; int dx[] = { 0,0,1,-1 }; int dy[] = { 1,-1,0,0 }; int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; //快速幂 inline int ksm(int a, int b) { int mod = 1000000007; int ans = 1; a %= mod; while (b) { if (b & 1)ans = (ans * a) % mod; b >>= 1; a = (a * a) % mod; } return ans % mod; } bool vis[N]; vector<int>s; void solve() { int n; cin >> n; vis[0] = vis[1] = 1; for (int i = 2; i <= n; i++) { if (!vis[i])s.push_back(i); for (int j = 0; j < s.size() && i * s[j] <= n; j++) { vis[i * s[j]] = 1; if (i % s[j] == 0)break; } } vector<int>m;//合法的c的平方 for (auto x : s) { if (x * x <= n * 2) m.push_back(x * x); else break; } int ans = 0; for (auto c : m) { for (auto a : s) { if (a >= c)continue; if (c - a < 2 || c - a > n)continue; if (!vis[c - a])ans++; } } cout << ans << endl; } signed main() { ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); int t = 1; //cin >> t; while (t--) { solve(); } return 0; }