Updated to take into account prices ending up below 0 after discounts