 
 	if (min_L <= max_R && max_R - min_L < MAX_rule_span){
 		tempind++;
-
-		//printf("target start %d - tar end %d - sour start %d - sour end %d\n", ss, tt, current_str, t);
 		return true;//consistent( (*target_start),  (*target_end), L_tar, R_tar, start, ender, tempind);		
 	}			
 

							}
						}

						/*if(oneBlockId == 121){
							printf("aXbX||i %d -> next %d | right %d | target_start %d target_end %d | originalGapStart %d originalGapEnd %d | gap2_start %d gap2_end %d | startSA %d EndSA %d | current_str %d ender %d | threadx %d dis %d\n", 
								i, next, right,
								target_start, target_end,
								originalGapStart, originalGapEnd,
								gap2_start, gap2_end,
								startSA, endSA,
								current_str, ender, threadx, dis);
						}*/
						
						if(next){
							nextpos = atomicAdd(counter_2gap, 1);
							twoGapRule_ab_d[nextpos].ref_str_start = target_start;

			L = 255;     
		} else if (k == start){		
			(*tempind) = k - ((temp >> 8) & 0xFF) - 1 ;	
			
			if ((*tempind) == -1){
				(*sen_target_begin) = 0;
			} else {
