construction of suffix array