from fractions import Fraction from collections import deque,defaultdict def run(load,read,check): r=load('C286_DATA.json')['target_register'];ix=defaultdict(list) for i,z in enumerate(r):ix[z['center']].append(i) S=set(ix);ops=[('R',c) for c in [3188,3190,3248,3250]]+[('E',h) for h in load('C450_DATA.json')['pivots']];seeds=[(p['lower'],p['upper']) for p in load('C454_DATA.json')['K_pairs']] seen=set(seeds);q=deque(seeds);edges=[];trials=[] while q: pair=q.popleft() for op,h in ops: yy=[Fraction(2*h-x) if op=='R' else Fraction(25*x-2*h,23) for x in pair];valid=all(y.denominator==1 and int(y) in S for y in yy) trials.append({'pair':list(pair),'operator':op,'anchor':h,'outputs':list(map(str,yy)),'complete':valid}) if not valid:continue target=tuple(sorted(map(int,yy)));check('span_'+str(pair)+'_'+op+'_'+str(h),Fraction(target[1]-target[0],pair[1]-pair[0])==(1 if op=='R' else Fraction(25,23))) row={'input_pair':list(pair),'output_pair':list(target),'operator':op,'anchor':h,'endpoint_permutation':[1,0] if op=='R' else [0,1],'input_span':pair[1]-pair[0],'output_span':target[1]-target[0]};edges.append(row) if target not in seen:seen.add(target);q.append(target) adj=defaultdict(list) for e in edges:adj[tuple(e['input_pair'])].append(e) journeys=[] for seed in seeds: visited={seed:[]};q=deque([seed]) while q: x=q.popleft() for e in adj[x]: y=tuple(e['output_pair']) if y not in visited:visited[y]=visited[x]+[e];q.append(y) for target,path in sorted(visited.items()): if path:journeys.append({'seed_pair':list(seed),'target_pair':list(target),'path':path}) return {'step':'C457','seed_pairs':[list(x) for x in seeds],'all_reached_pairs':[{'coordinates':list(x),'span':x[1]-x[0],'source_indices':[ix[y] for y in x]} for x in sorted(seen)],'operator_trials':trials,'admitted_edges':edges,'nontrivial_journeys':journeys,'counts':{'seeds':len(seeds),'reached_pairs':len(seen),'admitted_pair_edges':len(edges),'nontrivial_journeys':len(journeys),'seeds_with_transport':len({tuple(j['seed_pair']) for j in journeys}),'trials':len(trials)}}