def MaxPairwiseProduct_Better(array:list):
    """
    Using 2 variables to store Top 2 Max
    Values in `array`. Single Pass O(n)
    """
    if len(array) < 2:
        return 0
    max1, max2 = array[0],array[1]
    for i in array[2:]:
        if i > max2:
            if i > max1:
                max1, max2 = i, max1
            else:
                max2 = i

    return max1*max2