quick sort: 2 hours ...