#include #include #include #include #include #include #include using namespace std; typedef long long ll; bool is_prime[300003]; vector ps; void init(){ for(int i = 2; i <= 300000; i++) is_prime[i] = true; for(int i = 2; i*i <= 300000; i++){ if(!is_prime[i]) continue; for(int j = 2; i*j <= 300000; j++) is_prime[i*j] = false; } for(int i = 2; i <= 300000; i++) { if(is_prime[i]) ps.push_back(i); } } ll cnt[300003]; int N; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout << setprecision(10) << fixed; init(); cin >> N; ll ans = 0; cnt[5] = 1; // c = ps[i] for(int i = 2; i < ps.size(); i++){ if(ps[i] > N) break; for(int j = 0; j < ps.size(); j++){ int dif = ps[j]-ps[i]; if(dif > 0) ans += cnt[dif]; } for(int j = 0; j < i; j++){ cnt[ps[i]+ps[j]]++; } } cout << ans << endl; }