ZOJ 3671 3672 3675
Improve Suffix Array