
    Design a function for an adaptive learning system that determines the highest achievable difficulty tier for a student based on their current skill score, where each tier is a power of 2 to ensure balanced progression steps. Given a student's current performance score, find the largest power of 2 that doesn't exceed their score, which will serve as their assigned difficulty level for the next learning module.
    

    
def highest_Power_of_2(n):
    """
    Design a function for an adaptive learning system that determines the highest achievable difficulty tier for a student based on their current skill score, where each tier is a power of 2 to ensure balanced progression steps. Given a student's current performance score, find the largest power of 2 that doesn't exceed their score, which will serve as their assigned difficulty level for the next learning module.
    

    """
def highest_Power_of_2(n):
    """
    Design a function for an adaptive learning system that determines the highest achievable difficulty tier for a student based on their current skill score, where each tier is a power of 2 to ensure balanced progression steps. Given a student's current performance score, find the largest power of 2 that doesn't exceed their score, which will serve as their assigned difficulty level for the next learning module.
    

    """
    res = 0
    for i in range(n, 0, -1):
        if i & i - 1 == 0:
            res = i
            break
    return res