radix sort implemented with 16 buckets, doesn't work with negative values