comefrom: <doocs>0115.Distinct Subsequences_1.py
code: def numDistinct( s: str, t: str) -> int:
      m, n = len(s), len(t)
      dp = [[0] * n + 1 for _ in range(m + 1)]
      for i in range(m + 1):
          dp[i][0] = 1
      for i in range(1, m + 1):
          for j in range(1, n + 1):
              dp[i][j] = dp[i - 1][j]
              if s[i - 1] == s[j - 1]:
                  dp[i][j] += dp[i - 1][j - 1]
      return dp[m][n]
masked: def sample_funcname ( var_0 : str , var_2 : str ) -> int :
      var_5 , var_6 = len ( var_0 ) , len ( var_2 )
      var_11 = [ [ 0 ] * var_6 + 1 for var_9 in range ( var_5 + 1 ) ]
      for var_12 in range ( var_5 + 1 ) :
          var_11 [ var_12 ] [ 0 ] = 1
      for var_12 in range ( 1 , var_5 + 1 ) :
          for var_13 in range ( 1 , var_6 + 1 ) :
              var_11 [ var_12 ] [ var_13 ] = var_11 [ var_12 - 1 ] [ var_13 ]
              if var_0 [ var_12 - 1 ] == var_0 [ var_13 - 1 ] :
                  var_11 [ var_12 ] [ var_13 ] += var_11 [ var_12 - 1 ] [ var_13 - 1 ]
      return var_11 [ var_5 ] [ var_6 ]
  