A survey of longest common subsequence algorithms | Synapse