#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>

#define K (10000)

#define N (10000000)
uint64_t D_n[N] = { 0 };

uint64_t d(uint64_t n)
{
    if (n < N && D_n[n] != 0)
    {
        return D_n[n];
    }

    uint64_t sum = 0;
    for (uint64_t i = 1; i <= n / 2; i++)
    {
        if (n % i == 0)
        {
            sum += i;
        }
    }
    if (n < N)
    {
        D_n[n] = sum;
    }

    return sum;
}

bool IsAmicable(uint64_t a)
{
    uint64_t b = d(a);

    if (a == b)
    {
        // different number required.
        return false;
    }

    return a == d(b);
}

void Solve()
{
    uint64_t sum = 0;

    for (uint64_t i = 2; i < K; i++)
    {
        if (IsAmicable(i))
        {
            sum += i;
        }
    }

    printf("%lu\n", sum);
}

int main()
{
    Solve();
    return 0;
}