private int[] merge(int[] one, int[] two) {
		int[] result = new int[one.length + two.length];
		int i = 0;
		int j = 0;
		for (int k = 0; k < result.length; k++) {
			if (i == one.length) {
				result[k] = two[j++];
			} else if (j == two.length) {
				result[k] = one[i++];
			} else if (one[i] < two[j]) {
				result[k] = one[i++];
			} else {
				result[k] = two[j++];
			}
		}
		return result;
	}