https://learnprogramming.in.net/suffix-array-implementation-in-java-for-substring-search/