wyuan; Add a good source http://www-igm.univ-mlv.fr/~lecroq/string/index.html