To build \(\text{RLZ}_{pref}\) , we first compute \(LZ(T[1,\ell ])\)  and then
\(RLZ(T[\ell +1,n],T[1,\ell ])\) . For both of them, we utilize the suffix array
of \(T[1,\ell ]\) , which is constructed using the algorithm libdivsufsort
[1]}, [2]}.
To compute \(LZ(T[1,\ell ])\) , we use the KKP3 algorithm [3]}.
To compute \(RLZ(T[\ell +1,n],T[1, \ell ])\) , we scan \(T[\ell +1,n]\)  looking for
the longest match in \(T[1,\ell ]\)  by the standard suffix array based
pattern matching.
