class Solution:
def maxProduct(self, words: List[str]) -> int:
n=len(words)
w1i,w2l=[0]*n,[0]*n
for i in range(n):
w=words[i]
l=len(w)
wi=0
for j in range(l):
wi |= 1<<(ord(w[j])-ord('a'))
w1i[i]=wi
w2l[i]=l
pr=0
for i in range(n-1):
for j in range(i+1,n):
if ((w1i[i] & w1i[j])==0):
pr=max(pr,w2l[i]*w2l[j])
return pr