Suffix Array  O( n((lgn)^2) )