comefrom: <doocs>0096.Unique Binary Search Trees_1.py
code: def numTrees( n: int) -> int:
      dp = [0] * (n + 1)
      dp[0] = 1
      for i in range(1, n + 1):
          for j in range(i):
              dp[i] += dp[j] * dp[i - j - 1]
      return dp[-1]
masked: def sample_funcname ( var_0 : int ) -> int :
      var_4 = [ 0 ] * ( var_0 + 1 )
      var_4 [ 0 ] = 1
      for var_6 in range ( 1 , var_0 + 1 ) :
          for var_7 in range ( var_6 ) :
              var_4 [ var_6 ] += var_4 [ var_7 ] * var_4 [ var_6 - var_7 - 1 ]
      return var_4 [ - 1 ]
  