/*
#include <stdio.h>
int main()
{
int n,p=0;
scanf("%d",&n);
for(int i=12;i<=n;i++){
int a,b,k=0;
for(a=3;a<n-1;a++){
for(b=3;b<=i-a-5;b++){
int c=i-a-b;
if(c<=0) break;
if(a*a+b*b==c) k++;
}
}
if(k==2) p++;
}
printf("%d",p);
return 0;
}
/*
동적할당 malloc memory+allocation , calloc , realloc
int arr[n]; (x)
int* arr = (int*)malloc(sizeof(int)*n);
*/
/*
#include <stdio.h>
#include <math.h>
int arr[1500002]={};
int main()
{
int n,p=0;
scanf("%d",&n);
for(int a=3;a<=n/2+1;a++){
for(int b=a+1;b<=(n-a)/2 ;b++){
long long int c = (long long int)a*a+b*b;
double k=sqrt((double)c);
if(k>n-a-b) break;
if((int)k==k) arr[(int)k+a+b]++;
}
}
for(int i=1;i<=n;i++) if(arr[i]==1) p++;
printf("%d",p);
return 0;
}
//int* arr = (int*)calloc(n+1,sizeof(int));
//printf("%d %d %d\n",a,b,n-a-b);
//2147483647
//1000000000
//100000*100000
*/
/*
#include <stdio.h>
#include <math.h>
int arr[1500002]={};
int main()
{
int n,p=0,k,t;
scanf("%d",&n);
int a,b,x=0;
for(int a=3;a<n;a++){
for(int b=4;b<n;b++){
if(b%a==0) continue;
if(a%2==0&&b%2==0) continue;
else if(a%2==1&&b%2==1) continue;
if(a+b>=n) break;
double c=sqrt((double)a*a+b*b);
if((int)c!=c) break;
printf("%d %d %d\n",a,b,(int)c);
k=a+b+c;
t=k;
if(k>n){
x=1;
break;
}
while(k<=n){
if(arr[k]==1){
p--;
arr[k]++;
}
else if(arr[k]==0){
arr[k]++;
p++;
}
k+=t;
}
}
}
printf("%d",p);
return 0;
}
*/
/*
//1500->243, 1000->157
#include <stdio.h>
#include <math.h>
long long int arr[15000002]={};
long long int gcd(long long int a, long long int b){
if(a==0) return b;
return gcd(b%a, a);
}
int main()
{
long long int N,p=0;
scanf("%lld",&N);
long long int m,n;
for(m=1;m<=sqrt(N/2);m++){
for(n=1;n<=m;n++){
if((m+n)%2!=1||gcd(m,n)!=1) continue;
long long int k=m*m*2+2*m*n;
long long int t=k;
while(k<=N){
if(arr[k]==1){
p--;
arr[k]++;
}
else if(arr[k]==0){
arr[k]++;
p++;
}
k+=t;
}
}
}
printf("%lld",p);
return 0;
}
*/
/*
#include <stdio.h>
#include <math.h>
int arr[1500002]={};
int gcd(int a, int b){
if(a==0) return b;
return gcd(b%a, a);
}
int main()
{
int N,p=0;
scanf("%d",&N);
int m,n;
for(m=1;m<=sqrt(N/2);m++){
for(n=1;n<=m;n++){
if((m+n)%2!=1||gcd(m,n)!=1) continue;
int k=m*m*2+2*m*n;
int t=k;
//printf("%d %d\n",m,n);
while(k<=N){
if(arr[k]==1){
p--;
arr[k]++;
//printf("-- : %d %d\n",k,p);
}
else if(arr[k]==0){
arr[k]++;
p++;
//printf("++ : %d %d\n",k,p);
}
k+=t;
}
}
}
printf("%d",p);
return 0;
}
*/