#include using namespace std; typedef long long ll; typedef pair pii; #define pb push_back #define mp make_pair #define rep(i,n) for(int i=0;i<(n);++i) constexpr int mod=1000000007; constexpr int mod1=998244353; vector dx={0,-1,0,1},dy={1,0,-1,0}; bool inside(int y,int x,int h,int w){ if(y=0 && x=0) return true; return false; } vector prime(1000001,true); void era(){ prime.at(0)=false; prime.at(1)=false; for(int i=2;i<=1000000;++i){ if(prime.at(i)){ for(int j=i+i;j<=1000000;j+=i) prime.at(j)=false; } } } int main(){ cin.tie(0); ios::sync_with_stdio(false); era(); int n;cin >> n; int ans=0,m=2*n; for(int r=2;r*r<=m;++r){ if(!prime.at(r)) continue; int R=r*r; for(int p=2;p<=n;++p){ if(p>=R) break; if(!prime.at(p)) continue; if(R-p>n) continue; if(prime.at(R-p)) ans++; } } cout << ans << endl; }