1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Author: Bartek Knapik

#include <cstdio>

int cnt[5000*5000+9];
int n, ans;

int main()
{
    scanf("%d", &n);
    
    for (int a = 1; a <= n; ++a)
        for (int b = a; a*a + b*b <= n*n; ++b)
            cnt[a*a + b*b]++;
    
    for (int d = 1; d <= n; ++d)
        for (int h = d - 1; h > 0; --h)
            ans += cnt[d*d - h*h];
    
    printf("%d\n", ans);
    return 0;
}