Again, we can parallelize this operation among \(L\) simultaneous jobs (in practice we set \(K=L\) as the number of threads on our machine). In the \(K=2\) case, job \(l\) processes \(i\in[jN/L,(j+1)N/L]\), choosing the bounds of \(j\) by binary searching into \(C\) so that \(S_{B_{i}}<S_{C_{j}}<S_{B_{j+1}}\). The case where \(K>2\) is identical except that we repeat this over all \(K\) partial suffix arrays.