public static int[] quickSort(int[] candidates, int start, int end) {
    	if(start >= end) {
    		return candidates;
    	}
    	int i = start;
    	int j =end;
    	int mid = candidates[start];
    	while(i < j) {
    		while(j>=start &&candidates[j] > mid) {
    			j--;
    		}
    		if(i>=j) {
    			break;
    		}else {
    			int tmp = candidates[i];
    			candidates[i] = candidates[j];
    			candidates[j] = tmp;
    		}
    		while( i<=end && candidates[i] < mid) {
    			i++;
    		}
    		if(i>=j) {
    			break;
    		}else {
    			int tmp = candidates[i];
    			candidates[i] = candidates[j];
    			candidates[j] = tmp;
    		}
    	}
    	
    	candidates = quickSort(candidates, i+1, end);
    	candidates = quickSort(candidates, start, i-1);
    	return candidates;
    	
    	
    	
    }