Constructing Suffix Trees On-Line in Linear Time