counting sort mostly fixed, but still strange pointer errors when zeroes are in a list