
    Design a fraud detection algorithm that identifies potentially suspicious transaction pairs by analyzing all transaction amounts up to a specified limit, where two distinct transaction amounts are considered suspicious if the sum of proper divisors of the first amount equals the second amount and vice versa. Calculate the total sum of all such suspicious transaction amounts to establish a risk threshold for the fraud detection system.
    

    
def amicable_numbers_sum(limit):
    """
    Design a fraud detection algorithm that identifies potentially suspicious transaction pairs by analyzing all transaction amounts up to a specified limit, where two distinct transaction amounts are considered suspicious if the sum of proper divisors of the first amount equals the second amount and vice versa. Calculate the total sum of all such suspicious transaction amounts to establish a risk threshold for the fraud detection system.
    

    """
def amicable_numbers_sum(limit):
    """
    Design a fraud detection algorithm that identifies potentially suspicious transaction pairs by analyzing all transaction amounts up to a specified limit, where two distinct transaction amounts are considered suspicious if the sum of proper divisors of the first amount equals the second amount and vice versa. Calculate the total sum of all such suspicious transaction amounts to establish a risk threshold for the fraud detection system.
    

    """
    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)