
    Given a customer's credit risk score, determine the next highest possible score that can be formed using exactly the same digits, which will be used as the upper threshold for the risk assessment model. If no higher score is possible with the same digits, return -1 to indicate the current score is already at its maximum permutation for those digits.
    

    
def rearrange_bigger(n):
    """
    Given a customer's credit risk score, determine the next highest possible score that can be formed using exactly the same digits, which will be used as the upper threshold for the risk assessment model. If no higher score is possible with the same digits, return -1 to indicate the current score is already at its maximum permutation for those digits.
    

    """
def rearrange_bigger(n):
    """
    Given a customer's credit risk score, determine the next highest possible score that can be formed using exactly the same digits, which will be used as the upper threshold for the risk assessment model. If no higher score is possible with the same digits, return -1 to indicate the current score is already at its maximum permutation for those digits.
    

    """
    nums = list(str(n))
    for i in range(len(nums) - 2, -1, -1):
        if nums[i] < nums[i + 1]:
            z = nums[i:]
            y = min(filter(lambda x: x > z[0], z))
            z.remove(y)
            z.sort()
            nums[i:] = [y] + z
            return int(''.join(nums))
    return False