private static void combine(int a[], int low, int mid, int high){
		
		int lowPointer = low;
		int highPointer = high;
		
		int [] lower = new int[mid-low+1];
		int [] higher = new int[high - mid-1 +1];
		
		System.out.println("High : " + high +  " Mid : " + mid + " Low : " + low);
		
		int count = 0;
		for(int i =low ; i<= mid ; i++ ){
		
			lower[count ++] = a[i] ;
		}
		count = 0;
		for(int i=mid+1; i <= high ; i++ ){
			higher[count ++] = a[i];  
		}
		
		int i =0;
		int j =0;
		count = low;
		while(i < lower.length && j < higher.length){
		
			if(lower[i] < higher[j] ){
				a[count ++ ] = lower[i];
				i++;
			}else{
				a[count ++ ] = higher[j];
				j++;
			}
		}
		
		if(i<lower.length){
			for(int k = i ; k < lower.length ; k++){
				a[count++] = lower[i++];
				System.out.println(k);
			}
		}
		if(j<higher.length){
			for(int k = j ; k < higher.length ; k++){
				a[count++] = higher[j++];
				System.out.println(k);
			}
		}
		
				
		System.out.println("hello");
		
		
		
	}