Is this molecule polar?
Python 3, 296 bytes



import P,re,itertools
r="[A-Z][a-z]?"
f=re.findall(r,re.sub("(%s)(\d)"%r,lambda g:g.group(1)*int(g.group(2)),input()))
print(all(any(any(q[:len(q)//i]*i==q for i in range(2,len(q)))for q in[j[i:]+j[:i]for i in range(len(j))])&lt;1for j in itertools.permutations(f+['e']*-(len(f)-P.a[f.pop(0)]&gt;&gt;1))))


Try it online!

-29 bytes thanks to ovs

Prints False or True.

This requires a dict of all p-block element symbols to the number of valence electrons they have. H is not necessary since it will only be one of the surrounding atoms. The dict is stored in P.py as a variable named a (it's written in the input for TIO and then placed into a Python file by the header)