def orthonormal_exp(variables: list) -> list:
    """
    orthonormal expansion of a list of distinct variables

    >>> orthonormal_exp([1,2,3])
        [(1,), (-1, 2), (-1, -2, 3), (-1, -2, -3)]
    """
    result = []
    last = []
    for var in variables:
        if last:
            last[-1]*=-1
        last.append(var)
        result.append(last.copy())
    last[-1]*=-1
    result.append(last)
    return [tuple(i) for i in result]