longest common subsequence problem for unoriented and cyclic strings .
Introduction to Algorithms