for other in ps:
    if other < x[-1]:
        new = x + (other,)
Algorithm to get every possible subset of a list, in order of their product, without building and sorting the entire list (i.e Generators)