import java.util.*;

public class Euler143 {
    static boolean isSquare(long n) {
        long s = (long) Math.sqrt(n);
        return s * s == n;
    }

    public static void main(String[] args) {
        int limit = 120000;
        Map<Integer, Set<Integer>> pairs = new HashMap<>();
        for (int p = 1; p <= limit; p++)
            for (int q = p + 1; p + q <= limit; q++) {
                if (isSquare((long) p * p + (long) p * q + (long) q * q)) {
                    pairs.computeIfAbsent(p, k -> new TreeSet<>()).add(q);
                    pairs.computeIfAbsent(q, k -> new TreeSet<>()).add(p);
                }
            }
        Set<Integer> sums = new TreeSet<>();
        for (int p = 1; p <= limit; p++) {
            if (!pairs.containsKey(p))
                continue;
            Integer[] qs = pairs.get(p).toArray(new Integer[0]);
            for (int i = 0; i < qs.length; i++) {
                int q = qs[i];
                if (p + q >= limit)
                    break;
                for (int j = i + 1; j < qs.length; j++) {
                    int r = qs[j];
                    if (p + q + r > limit)
                        break;
                    Set<Integer> qp = pairs.get(q);
                    if (qp != null && qp.contains(r))
                        sums.add(p + q + r);
                }
            }
        }
        long total = 0;
        for (int s : sums)
            total += s;
        System.out.println(total);
    }
}
