
    Given a student's personalized learning path containing n sequential checkpoints, calculate the cumulative learning impact score by summing the weighted importance of each milestone, where the weight of each milestone i is represented as 1/i. The first milestone carries full weight (1/1), with subsequent milestones weighted as 1/2, 1/3, and so on, reflecting the diminishing yet cumulative importance of later concepts in the learning sequence.
    

    
def harmonic_sum(n):
    """
    Given a student's personalized learning path containing n sequential checkpoints, calculate the cumulative learning impact score by summing the weighted importance of each milestone, where the weight of each milestone i is represented as 1/i. The first milestone carries full weight (1/1), with subsequent milestones weighted as 1/2, 1/3, and so on, reflecting the diminishing yet cumulative importance of later concepts in the learning sequence.
    

    """
def harmonic_sum(n):
    """
    Given a student's personalized learning path containing n sequential checkpoints, calculate the cumulative learning impact score by summing the weighted importance of each milestone, where the weight of each milestone i is represented as 1/i. The first milestone carries full weight (1/1), with subsequent milestones weighted as 1/2, 1/3, and so on, reflecting the diminishing yet cumulative importance of later concepts in the learning sequence.
    

    """
    if n < 2:
        return 1
    else:
        return 1 / n + harmonic_sum(n - 1)