
    Given two students' learning paths - one with a completed module count and another with a target module count - determine if both paths can be organized into review groups with the same total flexibility score, where the flexibility score is calculated as the sum of all possible group sizes (divisors) for each path. For example, if one path has 12 modules that can be grouped into sizes of 1, 2, 3, 4, 6, and 12 (sum = 28), and another has 16 modules that can be grouped as 1, 2, 4, 8, and 16 (sum = 31), these paths would have different flexibility scores.
    

    
import math

def div_sum(n):
    total = 1
    i = 2
    while i * i <= n:
        if n % i == 0:
            total = total + i + math.floor(n / i)
        i += 1
    return total

def are_equivalent(num1, num2):
    """
    Given two students' learning paths - one with a completed module count and another with a target module count - determine if both paths can be organized into review groups with the same total flexibility score, where the flexibility score is calculated as the sum of all possible group sizes (divisors) for each path. For example, if one path has 12 modules that can be grouped into sizes of 1, 2, 3, 4, 6, and 12 (sum = 28), and another has 16 modules that can be grouped as 1, 2, 4, 8, and 16 (sum = 31), these paths would have different flexibility scores.
    

    """
import math

def div_sum(n):
    total = 1
    i = 2
    while i * i <= n:
        if n % i == 0:
            total = total + i + math.floor(n / i)
        i += 1
    return total

def are_equivalent(num1, num2):
    """
    Given two students' learning paths - one with a completed module count and another with a target module count - determine if both paths can be organized into review groups with the same total flexibility score, where the flexibility score is calculated as the sum of all possible group sizes (divisors) for each path. For example, if one path has 12 modules that can be grouped into sizes of 1, 2, 3, 4, 6, and 12 (sum = 28), and another has 16 modules that can be grouped as 1, 2, 4, 8, and 16 (sum = 31), these paths would have different flexibility scores.
    

    """
    return div_sum(num1) == div_sum(num2)