comefrom: <doocs>0318.Maximum Product of Word Lengths_1.py
code: def maxProduct( words: List[str]) -> int:
      n = len(words)
      mask = [0] * n
      for i, word in enumerate(words):
          for ch in word:
              mask[i] |= 1 << (ord(ch) - ord('a'))
      ans = 0
      for i in range(n - 1):
          for j in range(i + 1, n):
              if mask[i] & mask[j] == 0:
                  ans = max(ans, len(words[i]) * len(words[j]))
      return ans
masked: def sample_funcname ( var_0 : List [ str ] ) -> int :
      var_1 = len ( var_0 )
      var_2 = [ 0 ] * var_1
      for var_3 , var_4 in enumerate ( var_0 ) :
          for var_5 in var_4 :
              var_2 [ var_3 ] |= 1 << ( ord ( var_5 ) - ord ( 'a' ) )
      var_6 = 0
      for var_3 in range ( var_1 - 1 ) :
          for var_7 in range ( var_3 + 1 , var_1 ) :
              if var_2 [ var_3 ] & var_2 [ var_7 ] == 0 :
                  var_6 = max ( var_6 , len ( var_0 [ var_3 ] ) * len ( var_0 [ var_7 ] ) )
      return var_6
  