     for(int i =0; i <depth; i++)
     {
         myKey[i] = (localAIndex + i   < localAPartSize ? A_keys[myStartIdxA + aIndex+depth*tid+i]   : MAX_VAL);		
-        myVal[i] = (localAIndex + i   < localAPartSize ? A_vals[myStartIdxA + aIndex+depth*tid+i]   : MAX_VAL);
+        myVal[i] = (localAIndex + i   < localAPartSize ? A_vals[myStartIdxA + aIndex+depth*tid+i]   : UMAX_VAL);
     }
 
     if(bIndex + INTERSECT_B_BLOCK_SIZE_multi < localBPartSize) {

    for(int i =0; i <depth; i++)
    {
        myKey[i] = (localAIndex+ i   < localAPartSize ? A_keys[myStartIdxA + localAIndex+i]   : MAX_VAL);
        myVal[i] = (localAIndex + i   < localAPartSize ? A_vals[myStartIdxA + localAIndex+i]   : MAX_VAL);
    }
    
        

        for(int i = 0;i < depth; i++) 
        { 
            myKey[i] =   (aIndex+depth*tid + i < sizePerPartition ? A_keys  [myStartIdxA + aIndex+ depth*tid + i]   : MAX_VAL); 
            myValue[i] = (aIndex+depth*tid + i < sizePerPartition ? A_values[myStartIdxA + aIndex+ depth*tid + i]   : UMAX_VAL);	
        }
    }	

