1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <bits/stdc++.h>
#define int long long
#define llu long long unsigned
#define ld long double
#define fr(i,n) for(int i=0;i<n;i++)
#define watch(x) cout<<(#x)<<"=="<<(x)<<endl
#define ft first
#define sc second
#define mp make_pair
#define pb push_back
#define vi vector<int>
#define pii pair<int,int>
#define N 1005
#define LC 262144
using namespace std;

int getchar_pos_int() {
    int n=0, c=getchar();
    while('0'<=c&&c<='9') {n=n*10+c-'0'; c=getchar();}
    return n;
}

signed main() {
    int n=getchar_pos_int(),res=0,s,r;
    for(int i=1;i<=n;i++) {
        for(int j=i;i*i+j*j<=n*n;j++) {
            for(int k=1;i*i+j*j+k*k<=n*n;k++) {
                s=i*i+j*j+k*k,r=sqrt(s);
                if(r*r==s&&s<=n*n) {
                    res++;
                }
            }
        }
    }
    printf("%lld\n",res);
}