import java.util.*;

public class Euler211 {
    public static void main(String[] args) {
        int limit = 64000000;
        long[] sigma2 = new long[limit];
        sigma2[1] = 1;
        int[] spf = new int[limit];
        for (int i = 0; i < limit; i++)
            spf[i] = i;
        for (int i = 2; (long) i * i < limit; i++)
            if (spf[i] == i)
                for (int j = i * i; j < limit; j += i)
                    if (spf[j] == j)
                        spf[j] = i;
        for (int n = 2; n < limit; n++) {
            int p = spf[n];
            if (p == n) {
                sigma2[n] = 1 + (long) n * n;
            } else {
                int m = n;
                long pk = 1, s = 1;
                while (m % p == 0) {
                    m /= p;
                    pk *= (long) p * p;
                    s += pk;
                }
                sigma2[n] = sigma2[m] * s;
            }
        }
        long total = 0;
        for (int n = 1; n < limit; n++) {
            long s2 = sigma2[n];
            long r = (long) Math.sqrt(s2);
            while ((r + 1) * (r + 1) <= s2)
                r++;
            while (r * r > s2)
                r--;
            if (r * r == s2)
                total += n;
        }
        System.out.println(total);
    }
}
