input: 
  def find_lcs(x, y): 
      """
      Finds the longest common subsequence (LCS) of two sequences by using a dynamic programming approach.
      >>> find_lcs("abcdaf", "acbcf")
      'abcf'
      """
      m = len(x) 
      n = len(y) 
      
      lcs = [[0 for x in range(n+1)] for x in range(m+1)] 
    
      for i in range(m+1): 
          for j in range(n+1): 
              if i == 0 or j == 0: 
                  lcs[i][j] = 0
              elif x[i-1] == y[j-1]: 
                  lcs[i][j] = lcs[i-1][j-1] + 1
              else: 
                  lcs[i][j] = max(lcs[i-1][j], lcs[i][j-1]) 
    
      index = lcs[m][n] 
      lcs_str = [""] * (index+1) 
      lcs_str[index] = ""
    
      i = m 
      j = n 
      while i > 0 and j > 0: 
          if x[i-1] == y[j-1]: 
              lcs_str[index-1] = x[i-1] 
              i-=1
              j-=1
              index-=1
          elif lcs[i-1][j] > lcs[i][j-1]: 
              i-=1
          else: 
              j-=1
    
      return "".join(lcs_str)
  
output:     
      return "".join(lcs_str[:-1])
  