code: def _recon_lcs(x, y):
      
      i, j = len(x), len(y)
      table = _lcs(x, y)
  
      def _recon(i, j):
          """private recon calculation"""
          if i == 0 or j == 0:
              return []
          elif x[i - 1] == y[j - 1]:
              return _recon(i - 1, j - 1) + [(x[i - 1], i)]
          elif table[i - 1, j] > table[i, j - 1]:
              return _recon(i - 1, j)
          else:
              return _recon(i, j - 1)
  
      recon_tuple = tuple(map(lambda x: x[0], _recon(i, j)))
      return recon_tuple
docs: Returns the Longest Subsequence between x and y.
      Source: http://www.algorithmist.com/index.php/Longest_Common_Subsequence
  
      Args:
        x: sequence of words
        y: sequence of words
  
      Returns:
        sequence: LCS of x and y