a parallel suffix array construction algorithm