push first sort