algorithm [noun] + order-preserving [adjective]