private boolean isMinHeap(int k){
    	if(k>size) return true;
    	int left = 2*k + 1;
    	int right = 2*k + 2;
    	if(left< size && a[k]>a[left]) return false;
    	if(right< size && a[k]>a[right]) return false;
    	
    	return isMinHeap(left) && isMinHeap(right);
    }