for(auto i : primes){
//check for each prime less than 1e6
int st = 0;
if(L % i == 0) st = L ;
else st = (L / i + 1) * i;
for(int j = st; j <= R; j += i){
//compression and mark that i is factor of j
fact[j - L + 1].push_back(i);
}
}