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
//PROBLEM 2B
#include <bits/stdc++.h>
using namespace std;

#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
int main() {
    cin.tie(0)->sync_with_stdio(0);
    #define int long long
    int n;
    cin >> n;
    int cnt = 0;
    vector<int> sq(n*n + 1);
    for(int a = 1; a <= n; a++) {
        for(int b = 1; b <= a && a*a+b*b < sq.size(); b++) {
            sq[a*a+b*b]++;
        }
    }
    for(int sum = 1; sum <= n; sum++) {
        for(int h = 1; h <= sum; h++) {
            cnt += sq[sum*sum - h*h];
        }
    }
    cout << cnt <<  '\n';
}