from fractions import Fraction as F def run(load,check): old=load('C317_DATA.json');reg=load('C286_DATA.json')['target_register'];pairs=load('C286_DATA.json')['source_pairs'];rows=[];groups=[] for a in [0,2]: for b in [0,2]: subset=[] for r in old['rows']: i,g=r['i'],r['gear'];p,q,f,n=(r[k] for k in ['p','q','f','n']);S=p-460+a;R=f-460+b;role='Flood start' if r['rail']=='primary' else 'Flood close' left=any(z['Shem_Cainan']==1 and z['Shem_index']==i+a and z['S']==S for z in pairs) right=any(z['tradition']=='MT' and z['gear']==g+b//2 and z['role']==role and z['Cainan']==1 and z['Terah60']==1 and z['full430']==1 and z['center']==R for z in reg) check(f'{a}{b} i{i} membership',left==(i+a<=7) and right==(g+b//2<=3)) widths=[[R-S,n-S],[R-q,n-q]];sides=[q-S,n-R];two=(R-S==n-q==8993);allK=all(z%529==0 for rr in widths for z in rr) and all(z%529==0 for z in sides) check(f'{a}{b} i{i} exact formulas',widths==[[8993+b-a,10053-a],[7933+b,8993]] and sides==[1060-a,1060-b]) check(f'{a}{b} i{i} two17K criterion',two==(a==b)) check(f'{a}{b} i{i} allK criterion',allK==(a==b==2)) phases=[] for e in [F(-1,4),F(1,4)]: vals=[F(z)+e for z in [S,q,R,n]];check(f'{a}{b} i{i} {e} phases',(vals[2]-vals[0],vals[3]-vals[1])==(8993+b-a,8993)) phases.append([str(z) for z in vals]) row={'a':a,'b':b,'i':i,'S':S,'q':q,'R':R,'n':n,'cumulative_admitted':left,'regular_admitted':right,'joint_admitted':left and right,'sides':sides,'crosswidths':widths,'two17K':two,'allK':allK,'components':phases};rows.append(row);subset.append(row) groups.append({'a':a,'b':b,'joint_admitted':sum(x['joint_admitted'] for x in subset),'two17K_admitted':sum(x['joint_admitted'] and x['two17K'] for x in subset),'allK_admitted':sum(x['joint_admitted'] and x['allK'] for x in subset),'sides':subset[0]['sides'],'crosswidths':subset[0]['crosswidths']}) check('admitted group counts',[r['joint_admitted'] for r in groups]==[5,3,3,3]) return {'step':'C319','rows':rows,'groups':groups,'counts':{'formal_annual_configurations':20,'formal_phase_configurations':40,'joint_source_admitted':14,'two17K_admitted':8,'allK_admitted':3},'conditions':{'two17K':'a=b','allK_on_fixed_toggle_set':'a=b=2'},'interpretation':'Two17K transports do not force the paired+2 selection. AllK selects it conditionally in this held finite test; no historical or statistical selection rule is inferred.'}