Question: 
Write a function to sum all amicable numbers from 1 to a specified number.


Model's Code:
def amicable_numbers_sum(n):
    def sum_of_divisors(x):
        total = 1
        for i in range(2, int(x**0.5) + 1):
            if x % i == 0:
                total += i
                if i != x // i:
                    total += x // i
        return total

    amicables = set()
    for i in range(2, n + 1):
        partner = sum_of_divisors(i)
        if partner != i and sum_of_divisors(partner) == i:
            amicables.update([i, partner])

    return sum(amicables)



Sample Correct Code:
def amicable_numbers_sum(limit):
    if not isinstance(limit, int):
        return "Input is not an integer!"
    if limit < 1:
        return "Input must be bigger than 0!"
    amicables = set()
    for num in range(2, limit+1):
        if num in amicables:
            continue
        sum_fact = sum([fact for fact in range(1, num) if num % fact == 0])
        sum_fact2 = sum([fact for fact in range(1, sum_fact) if sum_fact % fact == 0])
        if num == sum_fact2 and num != sum_fact:
            amicables.add(num)
            amicables.add(sum_fact2)
    return sum(amicables)


Asserts:
assert amicable_numbers_sum(999)==504
assert amicable_numbers_sum(9999)==31626
assert amicable_numbers_sum(99)==0


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 123 of 974: 92/123 (74.79674796747967%): success