1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<bits/stdc++.h>

using namespace std;

const int maxn = 5007*5007;
vector<int> ile(maxn);
int main(){
    int n; cin >> n;
    for(int i = 1; i <= n; i++){
        //kwadraty[i*i] = true;
        for(int j = i; j <= n; j++){
            if(i*i + j*j <= n*n) ile[i*i + j*j]++;
        }
    }
    //for(int i = 1; i <= 10; i++) cout << ile[i] << " ";
    long long res = 0;
   // for(int i = 1; i <= n*n; i++) ile[i] += ile[i-1];
    for(int h = 1; h <= n; h++){
        for(int sq = 1; sq <= n; sq++){
            if(sq*sq - h*h > 0) res += ile[sq*sq - h*h];
        }
    }
    cout << res;
}