O(N+L) sorting