def LeakyRELU(x, alpha=0.3):
    """Leaky Rectified Linear Unit. It allows a small gradient when the unit is not active.
    `f(x) = alpha * x for x < 0, f(x) = x for x >= 0`
    
    Args:
        x (list or np.array): Input list or array.
        alpha (float): Scale factor.
    
    Returns:
        np.array: The LeakyRELU of the array .
    
    Examples:
        >>> x = np.array([[1,1,-3],[0.5,-1,1]])
        >>> LeakyRELU(x)
        array([[ 1. ,  1. , -0.9],
               [ 0.5, -0.3,  1. ]])

    """
    return (x >= 0) * x + (x < 0) * alpha * x